首頁  >  文章  >  後端開發  >  Github歡樂多,PHP神級代碼引發吐槽熱

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

WBOY
WBOY原創
2016-08-08 09:33:04801瀏覽
概述:前日,github的PHP板塊驚現一段能夠提升70%運作效率的程式碼,引發了全世界眾多網友的吐槽和調侃,「awesome!」、"well done!「、「PHP是世界第一語言!

前日,github的PHP板塊驚現一段能夠提升70%運作效率的程式碼,引發了全世界眾多網友的吐槽和調侃,「awesome!」、「well done!」、「PHP是世界第一語言!

先來看看這段神級的程式碼:

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

Before: Memory usage: 163.66MB (peak: 403.82MB), time: 246.25s
After: Memory MBage: 1633. 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.0200 月 308.000,403,000 程式執行時間. 195.99秒降到104.06秒!
……總的說來,就是禁用垃圾回收器可以提升PHP70%運作效率。

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

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

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

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

當該神級代碼一公佈,github的程式設計師們便樂開了花:

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

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

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

有打醬油的:

有吐

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

PHP的垃圾回收機製成為大家的笑料,我們也很清楚簡單的禁用PHP垃圾回收並不能解決內存溢出等問題,PHP未來如何處理好內存管理與運行效率之間的矛盾將是一件任重道遠的事。
以上就介紹了Github歡樂多,PHP神級程式碼引發吐槽熱,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn