Now Text::MicroTemplate is even faster than HTML::Template::Pro
前提:Text::MicroTemplateの速度を簡単にベンチマーク
Text::MicroTemplateを最適化したので,ベンチマークをとってみた。
スクリプトはほぼ同じだが,loop countは-1*1にした。
キャッシュを有効にした結果*2:
$ perl benchmark_templates.pl Perl/5.10.1 (i686-linux) HTML::Template/2.9 HTML::Template::Compiled/0.94 HTML::Template::Pro/0.92 Template/2.22 Text::MicroTemplate/0.09 Benchmark: running HT, HT::C, HT::Pro, MT, TT for at least 1 CPU seconds... (snip) Rate HT TT HT::Pro HT::C MT HT 1745/s -- -75% -79% -86% -89% TT 7111/s 307% -- -13% -44% -57% HT::Pro 8145/s 367% 15% -- -36% -51% HT::C 12678/s 626% 78% 56% -- -24% MT 16593/s 851% 133% 104% 31% --
永続環境という条件付きとはいえ,MTが最速になった。
ところで,結果は環境によってかなり異なるようだ。id:sfujiwaraさんの環境では以下のようになった。
http://gist.github.com/239271
Perl/5.10.0 (x86_64-linux-gnu-thread-multi) HTML::Template/2.9 HTML::Template::Compiled/0.94 HTML::Template::Pro/0.92 Template/2.20 Text::MicroTemplate/0.09 Benchmark: running HT, HT::C, HT::Pro, MT, TT for at least 1 CPU seconds... (snip) Rate HT TT HT::C HT::Pro MT HT 2035/s -- -76% -85% -89% -90% TT 8373/s 311% -- -39% -55% -57% HT::C 13652/s 571% 63% -- -27% -30% HT::Pro 18618/s 815% 122% 36% -- -5% MT 19549/s 860% 133% 43% 5% --
こちらだと,HTML::Template::Proとほぼ同じ速度である。