Heim >Backend-Entwicklung >PHP-Tutorial >Der fröhliche PHP-Code von Github löst Beschwerden aus

Der fröhliche PHP-Code von Github löst Beschwerden aus

WBOY
WBOYOriginal
2016-08-08 09:32:34953Durchsuche

Vorgestern tauchte plötzlich im PHP-Bereich von Github ein Code auf, der die Betriebseffizienz um 70 % verbessern kann, was bei vielen Internetnutzern auf der ganzen Welt Beschwerden und Spott auslöste: „Großartig!“ und „Gut gemacht!“ „PHP ist die erste Sprache der Welt!“ Die Programmierer, die normalerweise ein angespanntes Lächeln bewahren und hart arbeiten, haben ihrer humorvollen Seite freien Lauf gelassen, und GitHub ist zu einem Meer der Freude geworden.

Schauen wir uns zunächst diesen Code auf Gott-Ebene an:

Dieser Code bewirkt eine Sache: Er deaktiviert den Garbage Collector von PHP. Dann testeten Internetnutzer die Auswirkung der Verwendung des Garbage Collectors bei deaktiviertem PHP:

Vorher: Speichernutzung: 163,66 MB (Spitze: 403,82 MB), Zeit: 246,25 s
Nachher: ​​Speichernutzung: 163,34 MB (Spitze: 350,36 MB), Zeit: 99,55 s
Ein bestimmtes PHP-Programm ist Laufen Die benötigte Zeit wurde von 246,25 Sekunden auf 99,55 Sekunden reduziert!

Vorher: Speichernutzung: 152,71 MB (Spitze: 335,9 MB), Zeit: 195,99 s
Nachher: ​​Speichernutzung: 164 MB (Spitze: 308,02 MB), Zeit: 104,06 s
Ein bestimmtes PHP-Programm wird ausgeführt Die benötigte Zeit wurde von 195,99 Sekunden auf 104,06 Sekunden reduziert!

……

Im Allgemeinen kann die Deaktivierung des Garbage Collectors die Betriebseffizienz von PHP um 70 % verbessern.

Was war die ursprüngliche Absicht des vorherigen Designs, da die Garbage Collection von PHP so unzuverlässig ist?

Da die Speicherverwaltung in C/C eine sehr problematische Sache ist, müssen Programmierer Programme manuell schreiben. Wenn etwas weggelassen wird, kann dies zu einer Verschwendung von Ressourcen oder sogar zu einem Speicherverlust führen. Um dieses Problem beim PHP-Design zu vermeiden, wurde daher ein Garbage Collector eingeführt, der den Speicher nutzloser Objekte automatisch freigibt.

Es ist erwähnenswert, dass PHP beim Ausführen des Recycling-Algorithmus zusätzliche Zeit verbraucht. Obwohl in kleineren Projekten dieser zusätzliche Verbrauch minimal ist, hat dieser Verbrauch bei der Ausführung großer Projekte große Auswirkungen, da mehrere Recycling-Threads gleichzeitig gestartet werden. Die intuitivste Manifestation ist, dass die Laufzeit des Programms länger wird.

Das Deaktivieren der PHP-Garbage Collection ist die einfachste und gröbste Möglichkeit, die Effizienz des Programmbetriebs zu verbessern. Das ist so, als ob bei einer Bein- oder Fußverletzung die Amputation am einfachsten ist.

Sobald der God-Level-Code veröffentlicht wurde, waren die Programmierer auf Github überglücklich:

Homm, der als Erster ankam, drückte seine Überraschung über diese Verarbeitungsmethode aus und verstand nicht, warum sie durchgeführt wurde, und bemerkte sachlich, dass diese Verarbeitungsmethode nicht gut aussehe:

Dann kam smileytechguy und fing an zu necken: „Nun, es gibt keinen Kommentar, lasst uns den PHP-Kernel deaktivieren, und wir werden nicht erklären, warum wir das tun.“

Dann begann es außer Kontrolle zu geraten:

Diejenigen, die Sojasauce verwenden:

Diejenigen, die sich beschweren und lächerlich machen:

Nur zu sagen, dass PHP die Sprache Nummer eins auf der Welt ist, es gibt Versionen in mehreren Ländern. Man sagt, dass nur wenige Codeteile die Effizienz um 70 % steigern können in der Welt:

Es gibt auch süße:

Der Garbage-Collection-Mechanismus von PHP ist zu jedermanns Sache geworden. Das einfache Deaktivieren der PHP-Garbage-Collection kann Probleme wie Speicherüberlauf nicht lösen und langlebig.

Das Obige stellt den Code auf Github Joyful-PHP-Ebene vor, der zu Beschwerden geführt hat, einschließlich des Inhalts. Ich hoffe, er wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn