Heim > Artikel > Backend-Entwicklung > Wir stellen den Vergleich zwischen PHP7 und PHP5 vor
Empfohlen (kostenlos): PHP7
PHP7 soll bei seiner Veröffentlichung um ein Vielfaches schneller sein als die alte Version Wie auch immer, egal was passiert. Sowohl die Medien als auch die Entwickler schüren das Feuer, nein, sie sollten es loben.
Ich werde dir einfach zusehen, wie du dich ruhig verhältst, ohne ein Wort zu sagen.
Im Allgemeinen bin ich der Letzte, der Mobiltelefonsysteme aktualisiert, weil ich nicht in die Falle tappen möchte. Schließlich werden Systeme wie iOS und Android Fehler haben, ganz zu schweigen von den am häufigsten gehackten Sprachen der Welt .
Heute ist es an der Zeit zu sehen, ob PHP7 so großartig ist, wie die Legende sagt.
Installieren Sie zwei PHP-Versionen
http://php.net/ Es gibt bereits die neueste Version von PHP7, Sie können sie selbst herunterladen.
Um die Leistung von PHP5 und PHP7 zu testen (PHP6 wurde aufgegeben, Distressed 1s), habe ich zwei PHP-Versionen in verschiedenen Verzeichnissen installiert.
Der Installationsprozess wird übersprungen, unabhängig von der Installation des Quellcodes oder des Paketverwaltungstools. Merken Sie sich einfach Ihren eigenen Pfad.
PHP7:
# /usr/local/php7/bin/php -vPHP 7.1.5 (cli) (built: May 13 2017 23:36:41) ( NTS )Copyright (c) 1997-2017 The PHP GroupZend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
PHP5:
# /usr/bin/php -vPHP 5.6.30 (cli) (built: Jan 19 2017 22:31:39)Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Umgebungsbeschreibung: Um die besten Testergebnisse zu gewährleisten, wurde dieser Test direkt in der Produktionsumgebung durchgeführt, die näher an der realen Situation ist. T Betriebssystem: CentOS 7.2 64 -Bit
Grundkonfiguration: 1 GB 1 GB 1MBPS
SOFO -Marke: Tencent Cloud
Php7 und PHP5 -Konfrontation
1. Aus den Daten geht hervor, dass der reine PHP-Skripttest zeigt, dass die Leistung von PHP7 um das Drei- bis Vierfache verbessert wurde.
2.php-Datenbankbetriebstestvim test.php
$arr = array();for ($i = 0; $i < 500000; $i++) {$arr[$i] = $i;}$tmp = array();foreach ($arr as $i) {if ($i % 2 == 0) {$is_exists = array_key_exists($i, $arr);if ($is_exists) {array_push($tmp, $i);}}}Fügen Sie ein Datenelement in die test_user-Tabelle ein:
time /usr/bin/php test.php real 0m0.301suser 0m0.239ssys 0m0.050s--------------------------time /usr/bin/php test.phpreal 0m0.310suser 0m0.241ssys 0m0.054s--------------------------time /usr/bin/php test.phpreal 0m0.289suser 0m0.238ssys 0m0.050sErstellen Sie das Datenbanktestskript test_db.php und stellen Sie sicher, dass Sie beide PHP-Versionen haben PDO-Erweiterung installiert sind.
time /usr/local/php7/bin/php test.phpreal 0m0.087suser 0m0.063ssys 0m0.024s-------------------------------------time /usr/local/php7/bin/php test.phpreal 0m0.106suser 0m0.073ssys 0m0.033s--------------------------------------time /usr/local/php7/bin/php test.phpreal 0m0.083suser 0m0.061ssys 0m0.022sAuf meinen beiden PHP-Versionen ist PDO installiert (verwenden Sie die Erweiterung php_mysql nicht mehr, sie ist veraltet, PHP7 wurde komplett aufgegeben und mysqli wird nicht empfohlen).
Als nächstes schreiben wir über PDO ein Skript, um den Leistungsvergleich der ausgewählten Ausführung 500.000 Mal zu testen:
Table: test_userCreate Table: CREATE TABLE `test_user` (`uid` int(11) NOT NULL AUTO_INCREMENT,`name` char(100) NOT NULL DEFAULT '',PRIMARY KEY (`uid`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8PHP5 test test_db.php:
insert into test_user (uid,name) values (1,"dada");MariaDB [test]> select * from test_user;+-----+------+| uid | name |+-----+------+| 1 | dada |+-----+------+PHP7 test test_db.php:
/usr/bin/php -m|grep pdopdo_mysqlpdo_sqlite/usr/local/php7/bin/php -m|grep pdopdo_mysqlpdo_sqliteDieses Mal führte das Skript 500.000 Abfragen aus Die Benutzerausführungszeit von Skripten, die von PHP7 ausgeführt werden, ist fast eine Sekunde kürzer als die von PHP5! Es ist eine Sekunde weniger, nicht eine Millisekunde.
3.PHP-Framework-Test
thinkphp
Das Thinkphp-Framework ist definitiv die erste Wahl in China, wählen Sie das neueste thinkphp5. Ich habe die Version thinkphp5.0.9 direkt von der offiziellen Website heruntergeladen.
Test unter PHP5:
$host = "yourHost";$user = "yourUser";$pass = "yourPass";$db = "test";$port = 3306;try{$dbh = new PDO("mysql:host=$host;dbname=$db", $user, $pass);echo "Connected<p>";}catch (Exception $e){echo "Unable to connect: " . $e->getMessage() ."<p>";}$sql = "select SQL_NO_CACHE * from test_user;";$tmp = array();for ($i=1; $i<=500000; $i++) {$ret = $dbh->query($sql);foreach ($ret as $row) {$tmp['id'] = $row['id'];$tmp['name'] = $row['name'];}}Test unter PHP7:
time /usr/bin/php test_db.phpreal 0m48.396suser 0m11.149ssys 0m3.998sreal 0m51.447suser 0m11.800ssys 0m4.395sreal 0m51.517suser 0m11.733ssys 0m4.439sUnter dem Eingangstest können Sie sehen, dass es keinen großen Unterschied zwischen PHP und PHP7 gibt, PHP7 jedoch schon immer noch etwas schneller.
real 0m47.900suser 0m9.875ssys 0m4.130sreal 0m46.977suser 0m9.760ssys 0m3.983sreal 0m50.010suser 0m10.268ssys 0m4.307s
PHP5-Version:
time /usr/bin/php ./public/index.phpreal 0m0.036suser 0m0.026ssys 0m0.010sreal 0m0.038suser 0m0.026ssys 0m0.012sreal 0m0.041suser 0m0.032ssys 0m0.009s
PHP7-Version:
time /usr/local/php7/bin/php ./public/index.phpreal 0m0.027suser 0m0.021ssys 0m0.005sreal 0m0.027suser 0m0.018ssys 0m0.009sreal 0m0.025suser 0m0.023ssys 0m0.002s
PHP5-Version:
<?phpnamespace app\index\controller;class Index{public function index(){$arr = array();for ($i = 0; $i < 500000; $i++) {$arr[$i] = $i;}$tmp = array();foreach ($arr as $i) {if ($i % 2 == 0) {$is_exists = array_key_exists($i, $arr);if ($is_exists) {array_push($tmp, $i);}}}}}
time /usr/bin/php ./public/index.phpreal 0m0.538suser 0m0.463ssys 0m0.072sreal 0m0.454suser 0m0.386ssys 0m0.065sreal 0m0.387suser 0m0.331ssys 0m0.055s
Wir können sehen, dass es im Framework-Einstiegstest von Laravel keinen großen Leistungsunterschied zwischen PHP5 und PHP7 gibt, aber obwohl PHP5 Die schnellste ist mit 0,081 Sekunden auch langsamer als die langsamste PHP7-Version mit 0,067 Sekunden. PHP7 ist also immer noch besser.
(2) Framework-Logiktest
Versuchen Sie, ein wenig Logik hinzuzufügen, genau wie thinkphp, und verwenden Sie die Testlogik wieder.
time /usr/local/php7/bin/php ./public/index.phpreal 0m0.150suser 0m0.123ssys 0m0.024sreal 0m0.137suser 0m0.105ssys 0m0.031sreal 0m0.123suser 0m0.096ssys 0m0.026sSchreiben Sie die Testlogik in die Indexmethode:
time /usr/bin/php ./public/index.phpreal 0m0.104suser 0m0.081ssys 0m0.022sreal 0m0.148suser 0m0.122ssys 0m0.025sreal 0m0.122suser 0m0.100ssys 0m0.021sPHP5-Version
time /usr/local/php7/bin/php ./public/index.phpreal 0m0.079suser 0m0.064ssys 0m0.015sreal 0m0.081suser 0m0.067ssys 0m0.014sreal 0m0.067suser 0m0.054ssys 0m0.013s
Route::get('/', 'UserController@index');
1000 Anfragen, 50 Parallelität
PHP5-Version:
Drei Beispiele sind wie folgt:
PHP7-Version:
Durch den Stresstest können Sie unter der PHP7-Version sehen, dass die durchschnittliche Einzelanforderungszeit, die Anforderungsabschlusszeit und die tatsächliche Laufzeit jeder Verbindungsanforderung weniger Zeit in Anspruch nehmen, und der wichtigste Leistungsindikator ist auch QPS höher als die PHP5-Version.
Opcache-Leistungstest von PHP7
Opcache aktivieren:
Heiliger Mist! PHP7 mit aktiviertem Opcache steht tatsächlich kurz vor dem Durchbruch. Im Vergleich zu PHP7, das nicht aktiviert wurde, hat sich die Leistung um mehr als das Zehnfache verbessert, und im Vergleich zu PHP5 hat sie sich um fast das 20-fache verbessert! Fragen Sie, ob Sie Angst haben!
PHP-Skripttestdaten sind wie folgt:
PHP7 vs. PHP5
Reiner PHP-Skripttestprozess, die Leistung von PHP7 ist etwa drei- bis viermal so hoch wie die von PHP5.
Die Stresstestdaten lauten wie folgt:
PHP5 vs. PHP7 vs. PHP7+OPCACHE
Fazit:
Dieser Artikel führt einen einfachen Vergleich zwischen PHP7 und PHP5 durch, und die Leistung ist tatsächlich um 3 to verbessert 4 mal, ob in reinem PHP In Skripten oder in Frameworks ist die Hochleistungsleistung von PHP7 konsistent.
PHP7 ist sehr schnell, PHP7+OpCache ist sehr schnell, PHP7 ist wirklich großartig, die neue Ära von PHP ist angebrochen, beeilen Sie sich und nutzen Sie es!
Das obige ist der detaillierte Inhalt vonWir stellen den Vergleich zwischen PHP7 und PHP5 vor. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!