SymfonyとLaravelでは果たしてどちらが軽量高速なのか?
Symfony 2.5.0とLaravel 4.2.1をベンチマークしてみました。
ベンチマーク環境
- 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/symf/hello?name=BEAR
ベンチマーク結果
Symfony | Laravel | |
---|---|---|
trans/sec | 193.82 | 175.79 |
relative(%) | 100.0% | 90.7% |
1秒間に処理できたリクエスト数です。多い方がよい値です。
Symfony | Laravel | |
---|---|---|
peak memory (MB) | 1.00 | 1.25 |
relative(%) | 100.0% | 125.0% |
memory_get_peak_usage(true)
で取得したピーク時のメモリ使用量です。
コメント
「軽量」を使用メモリが少ないこと、「高速」を処理速度が速いことと定義した場合、このベンチマークでは、軽量なのはSymfonyであり、高速なのもSymfonyでした。それほど大きな差はありませんが。
漠然とLaravelの方が軽量高速だろうと思っていましたが、先入観というのはよくないですね。
なお、もし、このようにチューニングしたほうがよいということがありましたら、BitbucketのIssuesやPull Requestでお知らせいただければ、適用して再度計測してみます。
ソースコード
- https://bitbucket.org/kenjis/benchmark-symfony-2.5.0 (tag: v1.0)
- https://bitbucket.org/kenjis/benchmark-laravel-4.2.0 (tag: v1.0)
関連
Date: 2014/06/11