程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Github歡樂多 PHP神級代碼引發吐槽熱,githubphp神代碼

Github歡樂多 PHP神級代碼引發吐槽熱,githubphp神代碼

編輯:關於PHP編程

Github歡樂多 PHP神級代碼引發吐槽熱,githubphp神代碼


  前日,github的PHP板塊驚現一段能夠提升70%運行效率的代碼,引發了全世界眾多網友的吐槽和調侃,“awesome!”、“well done!”、“PHP是世界第一語言!”平時不苟言笑,埋頭苦干的程序員們充分發揮了其幽默的一面,github成為了歡樂的海洋。

  先來看看這一段神級的代碼:

github上的歡樂

  這段代碼所做的就是一件事情:禁用PHP的垃圾回收器。然後網友測試在使用禁用PHP的垃圾回收器後帶來的效果就是:

Before: Memory usage: 163.66MB (peak: 403.82MB), time: 246.25s
After: Memory usage: 163.34MB (peak: 350.36MB), time: 99.55s
某個PHP程序運行所需時間從246.25秒降低到99.55秒!

Before: Memory usage: 152.71MB (peak: 335.9MB), time: 195.99s
After: Memory usage: 164MB (peak: 308.02MB), time: 104.06s
某個PHP程序運行所需時間從195.99秒降低到104.06秒!

……

  總的說來,就是禁用垃圾回收器可以提升PHP70%運行效率。

  既然,PHP的垃圾回收如此不靠譜,那麼它以前設計的初衷是什麼呢?

  因為在C/C++中,內存管理是一件很麻煩的事情,內存的使用和釋放都需要程序員編寫程序手動操作,如果有所遺漏,就可能造成資源浪費甚至內存洩露。因此PHP在設計的時候為了規避這個問題,引入了垃圾回收器來用於自動釋放無用對象的內存。

  值得一提的是PHP在運行循環回收算法的時候,會產生額外的時間消耗。雖然在較小的項目中,這種額外消耗微乎其微,但是當運行大項目時,由於同時啟動了多個循環回收的線程,這種消耗將會產生很大的影響,最直觀的表現就是程序運行時間變長了。

  禁用PHP的垃圾回收,是提高程序運行效率的最簡單粗暴的方式。這就如同腿腳受傷了,最簡單的方式就是截肢一樣。

  當該神級代碼一公布,github的程序員們便樂開了花:

  首先到來的homm表達了對這種處理方式的驚訝以及不明白為什麼要這麼做,並客觀評價了這個處理方式看起來並不好:

github上的歡樂

  接著到來的smileytechguy便開始調侃了:“恩,沒有注釋,讓我們把PHP的內核禁用了吧,我們也不會解釋為什麼這樣做的。”

github上的歡樂

  然後就開始一發不可收拾了:

  有打醬油的:

github上的歡樂

github上的歡樂

  有吐槽和調侃的:

github上的歡樂

github上的歡樂

github上的歡樂

 

  光是說PHP是世界第一語言的就有幾個國家的版本,話說只用幾段代碼就能提高70%效率,PHP世界第一語言當之無愧:

github上的歡樂

github上的歡樂

github上的歡樂

  還有賣萌的:

github上的歡樂

  PHP的垃圾回收機制成為大家的笑料,我們也很清楚簡單的禁用PHP垃圾回收並不能解決內存溢出等問題,PHP未來如何處理好內存管理與運行效率之間的矛盾將是一件任重而道遠的事情。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved