ホームページ バックエンド開発 PHPチュートリアル Github欢乐多 PHP神级代码引发吐槽热_PHP

Github欢乐多 PHP神级代码引发吐槽热_PHP

May 30, 2016 pm 02:59 PM
php

  前日,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未来如何处理好内存管理与运行效率之间的矛盾将是一件任重而道远的事情。

  via:evget

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

See all articles