Pouze tento týden sleva až 80 % na e-learning týkající se Javy. Zároveň využij akce až 50 % zdarma při nákupu e-learningu - více informací.
Aktualizovali jsme Zásady zpracování osobních údajů. Pokračováním užívání sítě projevíte souhlas s těmito podmínkami. Tuto zprávu můžete nyní zavřít.
discount 50 + hiring

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

 

 

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í!