2006年10月28日土曜日

[Perl] HTML::Template vs Template::PRO ベンチマーク比較

HTML::Template は名前の通り、HTMLのテンプレートを実現し、デザインとプログラムを分けることを目的としたモジュールですが、CPANHTML::Template::Pro という XS モジュールを見つけたので、どのくらい差があるのかベンチしてみました。

シナリオ
以下の処理を1万回実行
・HTMLテンプレートをオープン
・パラメータを埋める
・テンプレートを出力

テンプレートファイル(test.tmpl)

Test Template

My Home Directory is


My Path is set to




ソースコード

結果
HTML::Template: 3 wallclock secs ( 3.33 usr + 0.21 sys = 3.54 CPU) @ 2824.86/s (n=10000)
HTML::Template::Pro: 5 wallclock secs ( 0.47 usr + 4.42 sys = 4.89 CPU) @ 2044.99/s (n=10000)
Rate HTML::Template::Pro HTML::Template
HTML::Template::Pro 2045/s -- -28%
HTML::Template 2825/s 38% --

DESCRIPTION
HTML::Template::Pro is a fast lightweight C/Perl+XS reimplementation of HTML::Template (as of 2.8) and HTML::Template::Expr (as of 0.0.5).
って書いてあるが、Pro よりオリジナルの方が若干速い。
Apache2+mod_perl2 環境でも実行してみたが、結果は同じでした。

追記)テンプレートファイルのタグが消されてますね。。。こういうのが不便。

0 件のコメント: