2008-11-13 15 views
12

Jaka jest najlepsza metoda porównywania wydajności różnych szablonów przy korzystaniu z Template::Toolkit?Jak mogę profilować wydajność szablonu w Template :: Toolkit?

Chcę czegoś, co zepsuje czas przetwarzania cpu/systemu na przetwarzanie każdego bloku lub pliku szablonu, z wyłączeniem czasu poświęconego na przetwarzanie innych szablonów. Devel::DProf, na przykład, jest bezużyteczne, ponieważ po prostu mówi mi, ile czasu spędza się na różnych wewnętrznych metodach modułu Template.

Odpowiedz

15

Okazuje się, że Google Googling dla szablonu :: profilowanie narzędzi Toolkit daje najlepszy wynik, artykuł z November 2005 by Randal Schwartz. Nie mogę skopiować i wkleić dowolny artykuł tutaj ze względu na prawa autorskie, ale wystarczy powiedzieć, że po prostu dostać his source i używać go jako moduł po szablonie tak:

use Template; 
use My::Template::Context; 

a dostaniesz wyjście tak jak STDERR, gdy skrypt działa:

 
-- info.html at Thu Nov 13 09:33:26 2008: 
cnt clk user sys cuser csys template 
    1 0 0.06 0.00 0.00 0.00 actions.html 
    1 0 0.00 0.00 0.00 0.00 banner.html 
    1 0 0.00 0.00 0.00 0.00 common_javascript.html 
    1 0 0.01 0.00 0.00 0.00 datetime.html 
    1 0 0.01 0.00 0.00 0.00 diag.html 
    3 0 0.02 0.00 0.00 0.00 field_table 
    1 0 0.00 0.00 0.00 0.00 header.html 
    1 0 0.01 0.00 0.00 0.00 info.html 
    1 0 0.01 0.01 0.00 0.00 my_checklists.html 
    1 0 0.00 0.00 0.00 0.00 my_javascript.html 
    1 0 0.00 0.00 0.00 0.00 qualifier.html 
52 0 0.30 0.00 0.00 0.00 referral_options 
    1 0 0.01 0.00 0.00 0.00 relationship_block 
    1 0 0.00 0.00 0.00 0.00 set_bgcolor.html 
    1 0 0.00 0.00 0.00 0.00 shared_javascript.html 
    2 0 0.00 0.00 0.00 0.00 table_block 
    1 0 0.03 0.00 0.00 0.00 ticket.html 
    1 0 0.08 0.00 0.00 0.00 ticket_actions.html 
-- end 

Należy zauważyć, że bloki, a także oddzielne pliki są wymienione.

To jest IMHO, znacznie bardziej użyteczne niż moduł CPAN Template::Timer.

Powiązane problemy