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 をオフにしたコード