PHP Framework Benchmarks for 2015
(2015年04月22日 Addition) This article is out of dated. Please see the latest benchmarks at https://github.com/kenjis/php-framework-benchmark. I've changed my benchmarking policy, the number of frameworks to benchmark has been increased, and version of frameworks has been updated.
CakePHP 3.0 has been released at last, CodeIgniter 3.0 and BEAR.Sunday 1.0 will come soon.
So I benchmarked latest (削除) 9 (削除ここまで) 10 PHP frameworks.
- 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
Benchmark Environment
- CentOS 6.5 64bit (VM)
- PHP 5.5.23
- Zend OPcache v7.0.4-dev
- Apache 2.2
- PHP 5.5.23
How to Benchmark
This is what you call "Hello World" benchmark. It is for mesuring minimum overhead (minimum bootstrap) of frameworks. See source code (later) for details.
I ran commands like below to benchmark.
$ ab -c 10 -t 3 http://localhost/codeigniter-3.0/index.php/hello/index
Benchmark Results
(2015年03月31日) Following some feedback, tweaked these benchmarks, and updated the results.
Throughput
Requests per second. More is better.
Memory Usage
Peak memory usage by memory_get_peak_usage(true).
Results data
Throughput
(2015年03月30日) Current version
| 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日) Initial version
| 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 |
Memory usage
(2015年03月30日) Current version
| 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日) Initial version
| 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 |
Comments
(2015年04月22日 Updated)
Phalcon is the fastest, (削除) CodeIgniter is the second (削除ここまで) and Silm and CodeIgniter follow.
FuelPHP、Silex、BEAR.Sunday are alike.
Laravel is very heavy. (削除) Laravel4 was as fast as Symfony, but Laravel5 has grown much heavier. (削除ここまで) It seems Laravel5 is heavier than Laravel4.
Source code
Reference
Date: 2015年03月27日
Tags: english