Xslateのベンチマークについて

id:tokuhiromたちがベンチマークをいろいろいじったのですが*1ベンチマークにリアリティを持たせるのはなかなか難しいですね。というわけで、ごちゃごちゃになっていたベンチマークスクリプトを、想定する環境を変えて二つに分けました。

一つは、"rich environment"(benchmark/x-rich-env.pl)。これは、永続的なPSGIアプリケーションでXSも利用可能な環境を想定したものです。テンプレートエンジンのインスタンスは再利用し、キャッシュも最高に効かせています。この状態だとXslateが桁違いに高速で、Template-Toolkitの100倍くらいのパフォーマンスです。

もう一つは、"poor environment"(benchmark/x-poor-env.pl)。これは、CGIスクリプトでしかもXSが利用できない環境を想定してあります。テンプレートエンジンのインスタンスは再利用できませんし、キャッシュはファイルキャッシュだけしか使えません。この状態だと、XslateはTemplate-Toolkitより高速ですが、HTML::TemplateやTemplate::MicroTemplateには敵いません。PP::Boosterという高速モードにするといくらか速くなってHTML::Templateとほぼ同じくらいになりますが、それでもTMTには敵いません。

というようなことを、 http://xslate.org で説明するといいですね。

[追記]
[twitter:@lestrrat]さんがやってくれました!
http://xslate.org/benchmark.html