perl - 如何在 Template::Toolkit 中分析模板性能?

标签 perl templates profiling template-toolkit

使用 Template::Toolkit 时对各种模板的性能进行基准测试的最佳方法是什么? ?

我想要一些东西来分解处理每个 block 或模板文件所花费的 cpu/系统时间,不包括处理其中的其他模板所花费的时间。 Devel::DProf例如,对此毫无用处,因为它只是告诉我在 Template 模块的各种内部方法中花费了多少时间。

最佳答案

事实证明,谷歌搜索 template::toolkit profiling 可以得到最好的结果,来自 November 2005 by Randal Schwartz 的文章。由于版权原因,我无法在此处复制和粘贴任何文章,但足以说明您只需得到 his source并将其用作模板后的模块,如下所示:

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

当你的脚本运行时,你会得到像这样的 STDERR 输出:

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

请注意,列出了 block 以及单独的文件。

恕我直言,这比 CPAN 模块 Template::Timer 有用得多。 .

关于perl - 如何在 Template::Toolkit 中分析模板性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/287531/

相关文章:

function - 如何在 Perl 中检查函数参数是字符串还是数组

c++ - 在类中使用泛型类成员

c++ - 为模板化类型确定正确谓词的方法

tensorflow - Tensorboard 不显示所有操作的运行时/内存

perl - 当正在运行的进程不是子进程时,如何在 perl 中等待正在运行的进程完成?

perl - POP3 是否区分已读和未读邮件

linux - Perl 更改目录路径的所有权

c++ - 如何在 C++ 中调用外部模板函数

Javascript- 动态监控 CPU/内存使用情况

c# - Entity Framework 4.1 中的性能监控选项