「HTML::Template::Pro」が「HTML::Template」より、かなり早くて助かる

なかなか、HTML::Template::Proを試すのに丁度よいタスクが見つからなかったのですが、僕が使ってるchalowが「HTML::Templeate」というPerlモジュールを使っているので、早速「HTML::Template::Pro」と入れ替えてみました。

- Igor Yu. Vlasenko / HTML-Template-Pro-0.71 - search.cpan.org
-- http://search.cpan.org/~viy/HTML-Template-Pro-0.71/

結論から言うと、僕は人生を沢山損してた、と思いました。


HTML::Template::Proをインストール


HTML::Template::Proのインストールは非常に簡単です。

$ sudo cpan "HTML::Template::Pro"


とか、

$ sudo perl -MCPAN -e shell

install "HTML::Template::Pro"



とかするだけ。

インストールした終わったら、chalowの先頭にある、use HTML::Templateを以下のようにするだけです。

- chalowの先頭のあたり
#use HTML::Template
use HTML::Template::Pro


chalowで処理するHTMLの量って?


chalowでブログを運用する際には、「ChangeLogを書いた後で、そのChangeLogをchalowで処理してHTMLを静的に作成する」作業を毎日のように行なう必要があります。

今日の時点で、chalowを使って作成するHTMLファイルが何個くらいなのか調べてみました。

$ ls -al ~/public_html/ | grep .html | lv | wc -l
4722


4722個です。

多少chalowが生成していないものも混ざっている気がしますが、4000個くらいは生成する必要があるわけです。

HTML::Template::Proは、単数のHTMLファイルを短時間に生成するようなタスクに適用して効果があるですから、大量のHTMLファイルを一度に生成するタスクにも効果があるはずなのです。

ちょっくら試してみた


HTML::Templateでは60秒くらいかかる上記の処理が、HTML::Template::Proでは20秒くらいで終わります。

プロファイラを使うまでもなく「早っ!」と声をような早さで処理が終わりました。

もうちょっと細かい話


HTML::Templateとの詳しい比較は、kazeburo番長が公開してくれています。

これは、最近のYokohama.pm #02のプレゼンで公開されたもの。

- LIMILIC - HTML::Template::Proのベンチマーク
-- http://limilic.com/entry/5hzfs1izi2pma67r
Benchmark: timing 2000 iterations of HTML::Template, HTML::Template::Pro... 
HTML::Template: 10 wallclock secs (10.29 usr + 0.00 sys = 10.29 CPU) @ 194.36/s (n=2000) 
HTML::Template::Pro: 2 wallclock secs ( 1.69 usr + 0.01 sys = 1.70 CPU) @ 1176.47/s (n=2000)


これは、2005年6月の記事。

- HTML::Template::Pro : blog.nomadscafe.jp
-- http://blog.nomadscafe.jp/archives/000413.html
$ perl htmltmplpro_bench.pl Benchmark: timing 1000 iterations of HTML::Template, HTML::Template::Pro... 
HTML::Template: 10 wallclock secs ( 9.43 usr + 0.01 sys = 9.44 CPU) @ 105.93/s (n=1000) 
HTML::Template::Pro: 1 wallclock secs ( 1.02 usr + 0.09 sys = 1.11 CPU) @ 900.90/s (n=1000)


いまも昔も、HTML::Templateより5倍以上早いわけですね。

正規表現や、算術比較演算子、文字列の比較演算子、論理式も使えるので、TTを使うまでもない場合にはHTML::Template::Proしかないですね。

まとめ



HTML::Template::Proは、HTML::Templateより、すごく早い!
使える場合には積極的に利用しよう!


投稿者:としのり  日時:23:59:59 | コメント | トラックバック |
blog comments powered by Disqus