iPhone/iPadのホーム画面コンテスト開催中!賞品は iTunes カード!

CakePHP & PHP 2007/07/14 02:46

PHPベンチマーク CakePHPでモデルを使用しない

via: PHPベンチマーク: Zend Framework vs Symfony vs CakePHP vs CodeIgniter vs PHP on TRAX - 徒然なるままにBlog

エントリでPHPフレームワークのベンチが比較されており、とても興味深いものです。

ベンチ対象のソースが公開されているので、ざっと見てみると気になるところが一点ありました。

各フレームワークで行った処理はコントローラを呼び出しビューに遷移させて
"Hello World!"を表示させるだけのかなりシンプルな内容です。
DBへの接続やモデルの作成は行わず、自動レイアウト機能があるものはオフにするか全て削除しています。

PHPベンチマーク: Zend Framework vs Symfony vs CakePHP vs CodeIgniter vs PHP on TRAX - 徒然なるままにBlog

モデル作成を行わないはずなのにCakePHPだけモデルが生成されるようになっていました。

そこでモデル生成あり・なしでどの程度差が出るかを計ってみます。計測方法は[ab -c 100 -n 100]を10セットしてその平均を出しています。

モデル生成ありのソースは元エントリのまま。モデル生成なしは元エントリのhello_controller.phpを下のように変更しています。

PHP:
  1. <?php
  2. class HelloNoModelController extends AppController{
  3.   var $layout=null;
  4.   var $autoLayout=false;
  5.   var $uses = array(); // モデルを使用しない
  6.  
  7.   function hello()
  8.   {
  9.   }
  10. }
  11. ?>

結果は以下のとおり。

モデル生成あり 5.145 Request/sec
モデル生成なし 6.381 Request/sec

実行環境が元エントリとは異なるので絶対的な数値にはあまり意味が無いですが、両者を比べるとモデル生成なしの方が20%ほど速いようです。

できれば元エントリの環境でモデル生成なし版によるベンチが見てみたいところです;-)。



■Related Posts

One Response to “PHPベンチマーク CakePHPでモデルを使用しない”

  1. on 01 4月 2008 at 10:51 1.PHPフレームワークのベンチマーク | Sun Limited Mt. said …

    [...] ただ、 モデル作成を行わないはずなのにCakePHPだけモデルが生成されるようになっていました。 PHPベンチマーク CakePHPでモデルを使用しない | Shin x blog [...]

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply