IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Vzorkovací profiler

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žením následujícího souboru souhlasíš s licenčními podmínkami

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

 

Všechny články v sekci
Online kurzy programování v C++ - Největší {C_A} e-learning
Program pro vás napsal berykubik
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Aktivity