PHP__autoload()方法真的影響效能嗎?_PHP教程

來源:互聯網
上載者:User
介紹

對於php效能問題,議論最多的就是__autoload()方法,很多人提到這個方法非常影響效能。還有人說opcode也能影響到__autoload()方法,所以針對這兩點我做了個測試。

最終發現__autoload方法在效能方面的影響不是很大的。有的網友說不用__autoload(),帶來的維護成本比效能成本高無數倍(比較贊同)。

環境

PHP:5.3.9 ——以fastcgi模式啟動
Nginx:1.1.12
eaccelerator:0.9.6.1

:


啟動介面:

eAccelerator(在php.ini檔案中)配置情況:

檔案結構:(每一個Test檔案都是6000多行代碼的檔案)



測試:帶著eAccelerator緩衝進行測試

測試代碼:經過__autoload載入



圖1
我在瀏覽器裡通過重新整理得到的結果分別如下:
Total Time:0.10401391983032
Total Time:0.10252094268799
Total Time:0.095267057418823
Total Time:0.10013008117676
Total Time:0.096842050552368
Total Time:0.097998142242432
Total Time:0.10348510742188
Total Time:0.096648931503296

測試:不經過__autoload()



圖2

測試結果——通過刷瀏覽器
Total Time:0.10309100151062
Total Time:0.10285210609436
Total Time:0.10154414176941
Total Time:0.097845792770386
Total Time:0.099545001983643
Total Time:0.10166597366333

最終看到的結果:autoload方法沒有出現明顯的效能下降

測試:取消eAccelerator緩衝進行測試

圖1的測試結果
Total Time:0.24992394447327
Total Time:0.25681900978088
Total Time:0.25327301025391
Total Time:0.22580695152283
Total Time:0.22656512260437
Total Time:0.22530484199524
Total Time:0.23080611228943

圖2的測試結果
Total Time:0.23054909706116
Total Time:0.22633790969849
Total Time:0.23442888259888
Total Time:0.2350070476532
Total Time:0.22897601127625
Total Time:0.23207712173462
__autoload()方法在效能上還是沒有明顯的影響。

總結

通過上面的兩組實驗得出:
1>__autoload方法沒有明顯的效能損失。所以大家不要介於使用__autoload方法。
2>opcode對代碼的影響是比較大的,明顯使用opcode的時候,php代碼執行速度提高了將近2倍多。


摘自 川山甲

http://www.bkjia.com/PHPjc/478308.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478308.htmlTechArticle介紹 對於php效能問題,議論最多的就是__autoload()方法,很多人提到這個方法非常影響效能。還有人說opcode也能影響到__autoload()方法,所以針...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.