身邊有朋友在用yaf框架,討論的也聲音也比較多,今天沒事看鳥哥的博客,看到一篇如今PHP主流的幾個框架性能對比,比較有意思,給你們分享一下!php
Yaf是用PHP擴展的形式寫的一個PHP框架,也就是以C語言的編寫,性能上要比PHP代碼寫的框架要快一個數量級。在執行效率方面,這個框架極可能會是最高的,由於它的做者就是惠新宸git
Casegithub
測試 MVC 中的 Router -> Controller -> Viewer, 輸出 "Hello World" 簡單頁面,測試 MVC 在理想環境、簡單邏輯、框架空載下的性能指標。apache
3 項指標併發
1) 在 index.php 中使用 microtime() 和 memory_get_usage() 粗略取得執行時間,內存佔用狀況
2) 使用 Facebook XHProf 擴展取得詳細的資源佔用狀況,代碼執行的 function map
3) 併發測試mvc
硬件環境:框架
CPU: Intel Core i5 750 (2.67GHz x4)
RAM: 4GByii
軟件環境:函數
Debian 6.0.2 x86_64 (2.6.32-5-amd64)codeigniter
apache 2.2.16
mpm-prefork
mod-php5
php 5.3.6
php-apc 3.1.3p1 (全局統一開啓APC支持)
測試的框架清單:
* zf: Zend Framework
Site: http://framework.zend.com
Ver: 1.11.7
* ci: CodeIgniter
Site: http://codeigniter.com/
Ver: 2.0.2
* yii: Yii Framework
Site: http://www.yiiframework.com/
Ver: 1.1.8
* yaf: Yet Another Framework in PHP Extension
Site: http://code.google.com/p/yafphp/
Ver: 2.0.1
* micromvc: MicroMVC
Site: http://www.micromvc.com/
Ver: 3.1.0
測試代碼用例:
https://github.com/eryx/labs/tree/master/php-framework-benchmark
測試結果:
1. 粗測: 內存佔用,響應時間
* zf: Zend Framework
* ci: CodeIgniter
* yii: Yii Framework
* yaf: Yet Another Framework in PHP Extension
* micromvc: MicroMVC
* all: 彙總對比
內存消耗
執行時間 (毫秒)
2. XHProf: 執行詳情
* zf: Zend Framework
執行摘要:
執行詳圖:
* yii: Yii Framework
執行摘要:
執行詳圖:
* yaf: Yet Another Framework in PHP Extension
執行摘要:
執行詳圖:
* micromvc: MicroMVC
執行摘要:
執行詳圖:
* all: 彙總對比
函數調用量
3. 併發測試
ab -c 100 -n 30000
ab -c 200 -n 50000
看完以後第一反應,yaf的運行傳輸速度都快遇上PHP源碼了,感受就像只是PHP換了一種方式運行,那這個框架裏邊的東西是否健全?由於還不太瞭解yaf,不敢評論太多!