Template :: Toolkitを使用するときに、さまざまなテンプレートのパフォーマンスをベンチマークするための最良の方法は何ですか?
内の他のテンプレートの処理に費やされた時間を除いて、各ブロックまたはテンプレートファイルの処理に費やされたCPU/システム時間を分解する何かが必要です。 たとえば、Devel :: DProfは、テンプレートモジュールのさまざまな内部メソッドに費やされた時間を単に教えてくれるので、これには役に立ちません。
Template :: Toolkitを使用するときに、さまざまなテンプレートのパフォーマンスをベンチマークするための最良の方法は何ですか?
内の他のテンプレートの処理に費やされた時間を除いて、各ブロックまたはテンプレートファイルの処理に費やされたCPU/システム時間を分解する何かが必要です。 たとえば、Devel :: DProfは、テンプレートモジュールのさまざまな内部メソッドに費やされた時間を単に教えてくれるので、これには役に立ちません。
2005 年 11 月の Randal Schwartz による記事で、 template::toolkit プロファイリングのGoogle 検索が最良の結果をもたらすことがわかりました。著作権のため、ここに記事をコピーして貼り付けることはできませんが、次のように、彼のソースを取得してテンプレートの後にモジュールとして使用するだけで十分です。
use Template;
use My::Template::Context;
スクリプトを実行すると、STDERR に次のような出力が得られます。
-- info.html at Thu Nov 13 09:33:26 2008: cnt clk user sys cuser csys テンプレート 1 0 0.06 0.00 0.00 0.00 アクション.html 1 0 0.00 0.00 0.00 0.00 バナー.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 フィールド テーブル 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 修飾子.html 52 0 0.30 0.00 0.00 0.00 referral_options 1 0 0.01 0.00 0.00 0.00 関係ブロック 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 テーブルブロック 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 - 終わり
ブロックと個別のファイルがリストされていることに注意してください。
これは、私見ですが、CPAN モジュールTemplate::Timerよりもはるかに便利です。