2015年最新PHPフレームワーク(9つ)のベンチマーク

(2015-04-22 追記) この記事は古くなっています。最新のベンチマーク結果は https://github.com/kenjis/php-framework-benchmark を参照願います。現在はベンチマークポリシーの一部を変更し、ベンチマーク対象フレームワークが増え、バージョンも更新されています。

CakePHP 3.0がついにリリースされ、CodeIgniter 3.0もBEAR.Sunday 1.0もリリース目前です。

そこで、以下の 9 10の最新PHPフレームワークをベンチマークしてみました。

  • Phalcon 1.3.4
  • CodeIgniter 3.0-rc3
  • Slim 2.6.2
  • Yii 2.0.4
  • FuelPHP 1.8-dev
  • Silex 1.2.3
  • BEAR.Sunday 1.0.0-rc2
  • CakePHP 3.0.0
  • Symfony 2.6.5
  • Laravel 5.0.20

ベンチマーク環境

  • CentOS 6.5 64bit (VM)
    • PHP 5.5.23
      • Zend OPcache v7.0.4-dev
    • Apache 2.2

ベンチマーク方法

いわゆる「Hello World」ベンチマークです。フレームワークの最小のオーバーヘッド(ミニマムブートストラップ)を計測するためのものになります。詳細はソースコード(後述)をご覧ください。

以下のようなコマンドで計測しました。

$ ab -c 10 -t 3 http://localhost/codeigniter-3.0/index.php/hello/index

ベンチマーク結果

(2015-03-31 追記) いただいたいくつかのフィードバックを反映し、ベンチマークを調整し、結果を更新しました。

スループット

1秒間に処理できたリクエスト数です。多い方がよい値です。

メモリ使用量

memory_get_peak_usage(true)で取得したピーク時のメモリ使用量です。

結果の数値

スループット

(2015/03/30) 最新版

framework requests per second relative
phalcon-1.3 1,622.50 20.8
codeigniter-3.0 727.46 9.3
slim-2.6 799.06 10.2
yii-2.0 383.81 4.9
fuel-1.8-dev 312.29 4.0
silex-1.2 352.96 4.5
bear-1.0 357.58 4.6
cake-3.0 256.58 3.3
symfony-2.6 269.91 3.5
laravel-5.0 78.09 1.0

(2015/03/26) 初期バージョン

framework requests per second relative
phalcon-1.3 1,445.99 20.5
codeigniter-3.0 698.69 9.9
yii-2.0 376.68 5.3
fuel-1.8-dev 322.90 4.6
silex-1.2 311.63 4.4
bear-1.0 296.89 4.2
cake-3.0 259.01 3.7
symfony-2.6 122.58 1.7
laravel-5.0 70.63 1.0

メモリ使用量

(2015/03/30) 最新版

framework peak memory relative
phalcon-1.3 0.50 1.0
codeigniter-3.0 0.50 1.0
slim-2.6 0.50 1.0
yii-2.0 1.50 3.0
fuel-1.8-dev 0.75 1.5
silex-1.2 1.00 2.0
bear-1.0 1.00 2.0
cake-3.0 1.00 2.0
symfony-2.6 1.00 2.0
laravel-5.0 2.75 5.5

(2015/03/26) 初期バージョン

framework peak memory relative
phalcon-1.3 0.50 1.0
codeigniter-3.0 0.50 1.0
yii-2.0 1.50 3.0
fuel-1.8-dev 0.75 1.5
silex-1.2 0.75 1.5
bear-1.0 1.00 2.0
cake-3.0 1.00 2.0
symfony-2.6 2.00 4.0
laravel-5.0 3.00 6.0

コメント

(2015-04-22 更新)

Phalconが最速で、SlimとCodeIgniterが続きます。

FuelPHP、Silex、BEAR.Sundayが同じようなパフォーマンスです。

Laravelは非常に重いですね。Laravel4ではSymfonyと同じ程度でしたが、Laravel5になりダントツに重くなってしまったようです。Laravel4よりもLaravel5は重くなってしまったようです。

ソースコード

関連

Date: 2015/03/26

Tags: php, yii, symfony, phalcon, fuelphp, codeigniter, cakephp, laravel, bear, silex, benchmark