使えるシステムから使いたいシステムへ、有限会社アテージ

PHPのテンプレートエンジンといえばSmartyですが、JinjaスタイルのテンプレートのTwigでベンチマークをとってみました。

TwigにはC拡張モジュール版があり、C拡張モジュールでパフォーマンスの向上を期待したのですが・・・。

なお、ベンチマークに使ったのは、DBのテーブルのデータを一覧表示するというよくあるアプリケーションです。

Smarty vs. Twig

本番環境ではテンプレートをコンパイルしないで使うことは殆どないと思いますので、コンパイル済みテンプレートで比較しました。今回使用したテンプレートはそれほど複雑ではないので、生成されたPHPのコードにさほど大きな違いはなく、互角でした。

Smarty

Twig

Twig vs. Twig(C拡張)

上のベンチマークをとって少し時間があいたので再度Twigのベンチマークもとって比較してみました。※C拡張のインストール方法はこちら

結果はご覧の通りで、ほとんど違いはありませんでした。複雑なテンプレートであれば15パーセント程度高速になるという報告もありますが、通常の使用であればC拡張を使う必要はないと思います。

Twig

Twig(C拡張)

C拡張モジュールのインストール

php.iniに以下の行を追加してWebサーバーを再起動します。

phpinfo()の出力に以下の項目が表示されればインストール完了です。