perl templates profiling template-toolkit

perl - ¿Cómo puedo perfilar el rendimiento de la plantilla en Template:: Toolkit?



templates profiling (1)

¿Cuál es el mejor método para evaluar comparativamente el rendimiento de mis diversas plantillas al usar Template :: Toolkit ?

Quiero algo que descomponga la cantidad de tiempo de la CPU / sistema que se utiliza procesando cada bloque o archivo de plantilla, sin incluir el tiempo dedicado a procesar otras plantillas. Devel :: DProf , por ejemplo, es inútil para esto, ya que simplemente me dice cuánto tiempo se usa en los diversos métodos internos del módulo de Plantilla.


Resulta que Googlegeo para el perfil de template :: toolkit produce el mejor resultado, un artículo de noviembre de 2005 de Randal Schwartz . No puedo copiar y pegar ningún artículo aquí debido a los derechos de autor, pero basta con decir que simplemente obtiene su fuente y la utiliza como un módulo después de la plantilla, así:

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

Y obtendrá un resultado como este en STDERR cuando se ejecute el script:

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

Tenga en cuenta que los bloques, así como los archivos separados se enumeran.

Esto es, en mi humilde opinión, mucho más útil que el módulo CPAN Template :: Timer .