CodeIgniter と Pinoco をベンチーマークしてみた

色々なPHPフレームワークのパフォーマンスを比較 にて様々 PHP フレームワークベンチマークされています。

ここで、CodeIgniter もベンチマーク対象ですが、惜しくも Pinoco に負けて 2位という結果でした。
そこで、この結果を手許の環境で追試してみました。

CodeIgniter は標準では Active Record と呼ばれるデータベースアクセスの仕組みが使えるようになっていますが、設定でオフにすることも可能です。Active Record を使わない場合は、query() メソッドに SQL を記述することになります。

Active Record をオフにすることで、パフォーマンスを追求することができます。

そこで、Active Record を使った実装と、Active Record を使わない実装の 2つをベンチマークしてみました。

結果

Pinoco 0.5.2 + PHPTAL CI 2.0.2 AR CI 2.0.2 No AR
62.865 trans/sec 51.40625 59.83125
  • CI 2.0.2 AR: 「色々なPHPフレームワークのパフォーマンスを比較」そのまま。CodeIgniter 標準の Active Record を使った実装
  • CI 2.0.2 No AR: CodeIgniter で Active Record をオフにしたもの

Active Record をオフにすることで、さらに Pinoco に迫りましたが、逆転することはできませんでした。:-)

CodeIgniter で Active Record をオフにしたコード