PHP 核心開始進行一些針對效能的重構

edited 五月 2014 in 進階PHP討論
原文: http://news.php.net/php.internals/73888
翻譯: https://hackpad.com/-PHP--HRY9UYvrArM

摘要:

主要的想法是修改內部的資料類型 (data types) 並最小化堆積 (Heap) 的用量。

這次的 PHP 引擎重構大量的改善了效能、記憶體用量,並且為未來的效能改善及 JIT 建立了穩固的基礎。

目前所達成的效能改善

Wordpress 3.6 – 20.0% gain (253 vs 211 req/sec)
Drupal 6.1 – 11.7% gain (1770 vs 1585 req/sec
Qdig – 15.3% gain (555 vs 482 req/sec)
ZF test app – 30.5% gain (217 vs 166 req/sec)

你可以在 php.net 上的 *phpng* 這個開發分支上找到這個新版的 PHP。

建置步驟則在: http://wiki.php.net/phpng

---

應該是 hhvm 帶來的壓力吧,不過目前 hhvm 在 wordpress 可以帶來 77% 的改進還是比較威:
https://medium.com/wordpress-school/99bdbec8e0d3

"HHVM made ​​29 requests per second more than the Apache, which means an improvement of 77%."

但也許需要在同一台機器測試比較準

評論

  • 我個人是對這種改進抱持著懷疑態度就是

    高效率的方式大多會犧牲掉安全
    反而會寧願慢一點

    數字不代表一切的
  • 完整的翻譯也可以參考: http://c9s.blogspot.tw/2014/05/php-php-mailing-list.html

    高效率與安全並沒有必然的關係,PHP 的效能大多卡在為了讓變數容易使用而配置了大量資源去迎合使用者,這也是為什麼 HHVM 團隊推了一個 HACK 出來的原因

    真的要追逐效能的人應該會嘗試用 C++ 吧?
  • 我更在意的是不要有找不到問題點的BUG出現就好

    像我分頁類別通常都可以使用
    怎麼某些時候會出問題
    sql語法在phpMyadmin是正常的
    套用到分頁類別時偶而會出現結果錯誤但訊息是警告 XD

    這種真的找不到問題在哪

    想說會是PHP直譯時變數錯字嗎
    結果變更變數名稱還是一樣會錯 XD

    只能推論是上層PHP或作業系統的記憶體問題而已
  • edited 五月 2014
    不過比起微軟系統的BUG
    至少都能用嚴格的檢查來避開寫入、更新、刪除錯誤
    檢查沒過就不執行
    顯示有問題就沒差了
    而且通常會讓你覺得有埋梗(偶而會覺得有笑點就是 XD)

    像最近發現顯示購物車內容的頁面會發生這問題
    表示錢還拿不出來嗎 XD

    光是這部份就贏了
  • edited 五月 2014
    所以這時候就得依賴 Unit Test 確保究竟是SQL出問題還是 Class 中使用了一些舊方法 hhvm 不支援的。

Sign In or Register to comment.