Pokročilé měření rychlosti

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
knyttl
Člen | 196
+
0
-

Ahoj,

jak řešíte měření rychlosti pro jednotlivé části aplikace – spuštění Nette, routování, generování šablon? V tuhle chvíli na daná místa umísťuju ladící hlášky s microtime(), to ale moc elegantní oproti DebugBaru není…

Díky

Tharos
Člen | 1030
+
0
-

Ahoj, já používám profiler z XDebugu. Ve Windows se dá jeho výstup hezky vizualizovat pomocí WinCacheGrind. Oba zmíněné nástroje jsou volně dostupné.

Editoval Tharos (17. 1. 2011 11:09)

knyttl
Člen | 196
+
0
-

Hm… to stejně oproti měření přímo v DebugBaru tak hezké není. Ale díky, vyzkouším.

Tharos
Člen | 1030
+
0
-

A co třeba udělat si pro měření triviální službu (respektive statickou třídu), která by sloužila jen jako obálka nad souborem naměřených hodnot, a na konci renderování vypsat její strukturu a obsah do DebugBaru pomocí barDump(…)?

Editoval Tharos (17. 1. 2011 11:29)

Patrik Votoček
Člen | 2221
+
0
-

Pokud potřebuješ výsledky z více různých míst dá se to řešit elegantně např:

use Nette\Debug;

Debug::timer('foo');
// dlouho pracujici kod
Debug::barDump(Debug::timer('foo'), 'foo timer');

Debug::timer('bar');
// dalsi dlouho pracujici kod
Debug::barDump(Debug::timer('bar'), 'bar timer');
knyttl
Člen | 196
+
0
-

To je asi ono, co jsem chtel :-)

dekuju