2014年の最新PHPフレームワークをベンチマークしてみる
CodeIgniter 3.0-dev、FuelPHP 1.7.2-dev、CakePHP 3.0.0-dev3、BEAR.Sunday 0.10.5、Laravel 4.2.1の5つの最新PHPフレームワークをベンチマークしてみました。
(2015-03-26 追記) 9つのフレームワークをベンチマークした「2015年最新PHPフレームワーク(9つ)のベンチマーク」をアップしました。
(2014-11-27 追記) 7つのフレームワークをベンチマークした「2014年の最新PHPフレームワークをベンチマークしてみた」をアップしました。
なお、Symfony、Zend Framework、Phalcon、Yii、Auraなども入れたいところですが、力尽きました。あしからず、ご了承願います。
ベンチマーク環境
- XAMPP 1.8.3-4 for Linux (32bit)
- PHP 5.5.11
- Zend OPcache v7.0.4-dev
- Apache 2.4.9
- PHP 5.5.11
ベンチマーク方法
いわゆる「Hello World」ベンチマークです。フレームワークの最小のオーバーヘッドを計測するためのものになります。詳細はソースコード(後述)をご覧ください。
以下のようなコマンドで計測しました。
$ siege -b -c 10 -t 3S http://localhost/bear/hello?name=BEAR
ベンチマーク結果
CodeIgniter | FuelPHP | CakePHP | BEAR.Sunday | Laravel | |
---|---|---|---|---|---|
trans/sec | 881.53 | 396.08 | 418.03 | 268.62 | 173.07 |
relative(%) | 100.0% | 44.9% | 47.4% | 30.5% | 19.6% |
1秒間に処理できたリクエスト数です。多い方がよい値です。
CodeIgniter | FuelPHP | CakePHP | BEAR.Sunday | Laravel | |
---|---|---|---|---|---|
peak memory (MB) | 0.25 | 0.5 | 0.5 | 0.75 | 1.25 |
relative(%) | 100.0% | 200.0% | 200.0% | 300.0% | 500.0% |
memory_get_peak_usage(true)
で取得したピーク時のメモリ使用量です。
コメント
この中では、やはりCodeIgniter3が速かったです。OPcacheをonにしたら、このように圧倒的に速くなりました。恐るべし、CodeIgniter!
また、CakePHP3がFuelPHP 1.xよりも少しだけ速かったことに驚きました。OPcacheをoffにすれば、FuelPHPの方が速かったのですが。
なお、もし、このようにチューニングしたほうがよいということがありましたら、BitbucketのIssuesやPull Requestでお知らせいただければ、適用して再度計測してみます。
ソースコード
- https://bitbucket.org/kenjis/benchmark-codeigniter-3.0-dev (tag: v1.0)
- https://bitbucket.org/kenjis/benchmark-fuelphp-1.7.2-dev (tag: v1.0)
- https://bitbucket.org/kenjis/benchmark-cakephp-3.0.0-dev3 (tag: v1.0)
- https://bitbucket.org/kenjis/benchmark-bear-sunday-0.10 (tag: v1.0)
- https://bitbucket.org/kenjis/benchmark-laravel-4.2.0 (tag: v1.0)
関連
Date: 2014/06/10