Using Template::Timer is simple.
my %config = ( # Whatever your config is
INCLUDE_PATH => "/my/template/path",
COMPILE_EXT => ".ttc",
COMPILE_DIR => "/tmp/tt",
);
if ( $development_mode ) {
$config{ CONTEXT } = Template::Timer->new( %config );
}
my $template = Template->new( \%config );
Now when you process templates, HTML comments will get embedded in your output, which you can easily grep for.
<!-- TIMER START: process mainmenu/mainmenu.ttml -->
<!-- TIMER START: include mainmenu/cssindex.tt -->
<!-- TIMER START: process mainmenu/cssindex.tt -->
<!-- TIMER END: process mainmenu/cssindex.tt (0.017279 seconds) -->
<!-- TIMER END: include mainmenu/cssindex.tt (0.017401 seconds) -->
....
<!-- TIMER END: process mainmenu/footer.tt (0.003016 seconds) -->
<!-- TIMER END: include mainmenu/footer.tt (0.003104 seconds) -->
<!-- TIMER END: process mainmenu/mainmenu.ttml (0.400409 seconds) -->
Note that since INCLUDE is a wrapper around PROCESS, calls to INCLUDEs will be doubled up, and slightly longer than the PROCESS call.
Very cool (Score:1)