Delphi XE obsahuje několik integrovaných nástrojů. A jeden z nich je AQ Time Standard 7.0. Standard znamená, že některé funkce nejsou povoleny - jedná se tak v podstatě o základní profiler výkonu, který ale umí profilovat i jiné věci.
Jako úplně první informace je, že se jedná o instrumentální profiler, na rozdíl od mnou dříve popisovaného programu SamplingProfiler, kde je i rozdíl vysvětlen, ale ve zkratce: sampling profiler je jiný proces, který periodicky zjišťuje co program dělá, instrumentální naopak modifikuje kód a vkládá tam svoje značky. U prvního program běží plnou rychlostí, ale data jsou neúplná (místa mezi vzorky program nezaregistruje), zato se tak zjišťuje běh i mimo náš program, u druhého program je zpomalen voláním "instrumentů", ale zato je informace úplná.
Pro zájemce rozdíly mezi AQ Time Standard a Pro. Profiler je celkem pěkně integrován do IDE a podporuje několik různých módů profilace, z nichž nejčastěji používaný bude Performance Profiler.
Bez přehánění je AQ Time jednoduchý jako žebřík. Otevřete projekt, který chcete profilovat a v menu AQTime vyberete volbu Run With Profiling. Následně je dle vybraného módu zobrazena konfigurace, v případě Performance profiler následující:
A první zklamání: ve edici Standard je povolen pouze counter Elapsed Time, což je celkem škoda, některé volby jsou opravdu zajímavé.
Po dokončení běhu programu je zobrazen výsledný report:
Sloupce jsou konfigurovatelné, v edici Standard není zobrazen celý strom (resp. je zobrazeno, že ta a ta metoda včetně dětí zabírá určitý čas, přičemž samotná metoda zabírá jiný čas). Navíc je nejmenší jednotkou metoda (funkce) a nikoliv řádek (jen v plné verzi). To je taky škoda. Zobrazení trvání se dá zobrazit v časových jednotkách nebo v "Machine cycles".
Poklepáním na položku se zobrazí detail i se zdrojoým kódem a informacemi.
Nesmím vynechat ostatní módy, např. trasování zavádění DLL (AQ Time Load Library Tracert0
nebo tester platforem (včetně WINE)
a další.
Závěr: škoda, že je to v některých případech ořezané - verze Pro vypadá velmi zajímavě. Přesto si myslím, že i integrace AQ Time Standard je velmi užitečná věc a program i přes své omezení nabízí zajímavé možnosti.