Vzorkovací profiler

C a C++ Vzorkovací profiler

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Aplikace umožňuje spustit program (popř. připojit se k již běžícímu programu), u kterého poté v pravidelných intervalech zaznamenává jeho stack trace. Po dokončení profilování lze naměřená data v programu vizualizovat.

Funkce

  • vzorkovací profilování programů na Linuxu a Windowsu
  • volitelná doba frekvence vzorkování (1 - 100 ms)
  • několik grafických výstupů (call graph, flamechart, top-down view)
  • symbolizace stack traců (zobrazení reálných názvů metod)

Motivace

Chtěl jsem mít jednoduchý open-source nástroj, ve kterém můžu rychle otevřít libovolný program s debug symboly a zobrazit si, kde se v něm tráví nejvíce času (pro účely optimalizace kódu). Nejlepším řešením na toto je asi VTune, ten je ale Intel-specific, je to moloch a není dostupný zdarma. perf je zase Linux-specific a neobsahuje vestavěné GUI, které by se mi zamlouvalo. Pokud znáte jiné open-source řešení, které by se na toto dalo použít, dejte prosím vědět do komentářů.

TODO

  • otestovat funkci na Windowsu
  • použít na Linuxu jiné API než ptrace
  • přepsat backend do Rustu

Pozn.: V současné době není aplikace na Windows vůbec otestována, obsahuje pouze prototyp profilování. Na Linuxu by měla pro základní use casy fungovat, pokud ne, tak prosím na Githubu vytvořte issue.

Program byl vytvořen v roce 2017.

 

Stáhnout

Staženo 3x (65.15 kB)
Aplikace je včetně zdrojových kódů v jazyce C++

 

 

Program pro vás napsal berykubik
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Miniatura
Všechny články v sekci
C a C++
Aktivity (2)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!