Github歡樂多 PHP神級程式碼引發吐槽熱
前日,github的PHP板塊驚現一段能夠提升70%執行效率的程式碼,引發了全世界眾多網友的吐槽和調侃,“awesome!”、“well done!”、“PHP是世界第一語言!”平時不苟言笑,埋頭苦幹的程式設計師們充分發揮了其幽默的一面,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表達了對這種處理方式的驚訝以及不明白為什麼要這麼做,並客觀評價了這個處理方式看起來並不好:
接著到來的smileytechguy便開始調侃了:“恩,沒有註釋,讓我們把PHP的核心禁用了吧,我們也不會解釋為什麼這樣做的。”
然後就開始一發不可收拾了:
有打醬油的:
有吐槽和調侃的:
光是說PHP是世界第一語言的就有幾個國家的版本,話說只用幾段程式碼就能提高70%效率,PHP世界第一語言當之無愧:
還有賣萌的:
PHP的垃圾回收機制成為大家的笑料,我們也很清楚簡單的禁用PHP垃圾回收並不能解決記憶體溢位等問題,PHP未來如何處理好記憶體管理與執行效率之間的矛盾將是一件任重而道遠的事情。
via:evget
相關文章
- Github歡樂多,PHP神級程式碼引發吐槽熱GithubPHP
- 後臺程式碼 拼接table吐槽
- 程式猿找工作吐槽分享
- babel吐槽Babel
- 吐槽visdom
- 那些年,腦洞大開設計的 API(開發吐槽貼,歡迎補充)API
- 那些被吐槽最多的程式語言
- Docker再遇公關危機,GitHub開發者吐槽Docker下載限制DockerGithub
- 冷靜的思考和快樂的吐槽——《黑客與畫家》黑客
- 功能測試吐槽
- 假如易立競吐槽程式設計師。。。程式設計師
- 牛津教授吐槽DeepMind心智神經網路,還推薦了這些多智慧體學習論文神經網路智慧體
- Github Copilot機器人寫的程式碼引發糾紛Github機器人
- 微軟Windows10升級政策在中國廣遭吐槽微軟Windows
- 關於js的吐槽JS
- 吐槽:Docker真的好嗎?Docker
- 開發工具與開發能力(吐槽,無其他意義)
- PHP程式碼分享:開啟多程式PHP
- PHP的開合式多級選單程式PHP
- 【吐槽】低程式碼的介面自動化測試平臺不好用
- [廈門] 在海邊寫程式碼,歡樂逛前端招聘前端
- 吐槽程式設計問題的五張漫畫程式設計
- PHP多程式並行執行php指令碼PHP並行指令碼
- AI 能多強「GitHub 熱點速覽」AIGithub
- .NET 歡樂程式設計術之型別超級轉換之術??程式設計型別
- 吐槽:你最深愛的程式語言其實很爛
- 吐槽“技術債務” - morethancoding
- 吐槽各大題庫的優劣
- 吐槽: 移動端快取策略快取
- Javascript之旅——第九站:吐槽functionJavaScriptFunction
- [吐槽] 光Google是不夠的Go
- 如何使用 Laravel Collections 類編寫神級程式碼Laravel
- 多Github賬號指定ssh-key提交程式碼Github
- 網友Apple Pay吐槽彙總:不能發紅包就是垃圾APP
- 藍精靈之歌職場吐槽版合集【程式設計師版】程式設計師
- 現在的程式猿開始在註釋裡吐槽了!
- 歡樂拼購商城系統開發,Viiva購歡樂拼購拼團模式介紹模式
- 微信小程式介紹:GitHub熱榜微信小程式Github