20:54 | 22.11.2009
Anonym
Profilování aplikace vám umožní zjistit v kterých funkcích je při provádění programu stráveno nejvíce času. Při optimalizaci aplikace se pak stačí zaměřit jen ty funkce, které problém s výkonem způsobují a získat tak za málo peněz hodně muziky.
Co je to profilování kódu? Jak používat Sysprof?
Profilování je technika sledování programu za běhu. Profilování aplikace vám umožní zjistit v kterých funkcích je při provádění programu stráveno nejvíce času. Díky tomu snadno zjistíte, které funkce přímo zpomalují program a které naopak na rychlost velký vliv nemají. Při optimalizaci aplikace se pak stačí zaměřit jen ty funkce, které problém s výkonem způsobují a získat tak za málo peněz hodně muzikys minimem úprav hodně výkonu.
Cílem profilování je získání profilu běžící aplikace. Jeho použitím zjistíte, které funkce aplikace volá, kolik v nich stráví času a graf těchto volání. Profilování je dynamická činnost. Na rozdíl od zdlouhavé statické analýzy kódu, kdy kód procházíte ručně řádek po řádku, profilování probíhá za běhu analyzované aplikace.
Na profilování existuje několik nástrojů a ne všechny pracují stejně. Většina profilerů pracuje tak, že do programu vloží značky (třeba před každé volání funkce), které jim umožní sledovat běh aplikace. U kompilátoru gcc slouží k vložení těchto značek parametr -pg. Pokud zkompilujete svůj program s tímto parametrem, bude při ukončení tohoto programu vytvořen soubor gmon.out ve kterém budou informace o jeho běhu. Ke zpracování tohoto souboru můžete použít například GNU gprof, který umí dané informace interpretovat.
Sysprof je linuxový vzorkovací profiler. Skládá se ze dvou částí: Z jaderného modulu a GUI aplikace. Jaderný modul Sysprof periodicky generuje výpis zásobníku pro běžící proces nebo jaderné vlákno, zatímco aplikační část tyto informace zaznamenává a zpracovává.
Zdroj: Tojaj.com