Ruilog Agian for his work of second benchmark of YAF 2.1.
YAF 2.1 (Docs) did a lot of work to improve performance and reduce memory usage, so let's take a look at the result (Yaf 2. 1 rewrite a lot of logic to improve performance, and reduce memory usage, improve results see test comparison):
The "All", I have to say, I am isn't saying the fastest is the best. Every framework list blew is outstanding, and has particular situation to deploy. (First of all, I want to affirm that not necessarily the fastest is the best, each of the following framework is a good framework, all have their applicable scenarios)
Case
Test Simple ' Hello World ' page output, simple MVC logic (Router-> Controller-> Viewer), no Database connections, no Complex logic. Test scripts can be found here.
Hardware platform
Cpu:intel Core i5 750 (2.67GHz x4)
Ram:4gb
Software Environment
Debian 6.0.3 x86_64 (2.6.32-39)
Apache 2.2.16 (MPM-PREFORK,MOD-PHP5)
PHP 5.3.8
PHP-APC 3.1.9 (optimization for Include/require)
Copy all projects to/dev/shm/* (optimization for files read/write)
1. Apache Benchmark
Requests Pre Second (-C 100-n 30000), the bigger is better
ab-c100-n30000
Requests Pre Second (-C 200-n 50000), the bigger is better
ab-c200-n50000
2. System Loadavg
System Loadavg in 1 Minute if Apache Benchmark Complete, the smaller is better (-C 100-n 30000)
System Loadavg (ab-c100-n30000)
3. Memory Usage
How to many memory usage in one of "Hello World" page. The smaller is better.
Memory usage
4. Response Time
The time of page request to response.
Response time
5.Number of function calls (Facebook xhprof)
The number of functions calls in one ' Hello World ' page.
Number of function calls
6. Number of included files
The number of files included or required in one "Hello World" page. The fewer is better.
Number of included files
–eof–