検索
ホームページバックエンド開発PHP7php7とphp5の比較を紹介します。

php7とphp5の比較を紹介します。

推奨事項 (無料): PHP7

PHP7 が登場したとき、非常に優れていると言われました。時代に合わせて、PHP7 で動作するさまざまなオープンソース フレームワークやシステムの速度と効率は数倍に向上しており、とにかくメディアも開発者も炎上を煽り、いや、賞賛に満ちているはずです。
私は何も言わずにただ静かに見守るだけです。

一般的に、罠にはまりたくないので、私は携帯電話システムをアップグレードする最後の人です。結局のところ、最もハッキングされた言語は言うまでもなく、iOS や Android のようなシステムにはバグが存在します。世界で。

今日は、PHP7 が伝説どおりに素晴らしいかどうかを確認するときが来ました。

2 つの PHP バージョンをインストールする

http://php.net/ PHP7 の最新バージョンはすでに存在しており、自分でダウンロードできます。
PHP5 と PHP7 (PHP6 は放棄され、苦境に立たされました) のパフォーマンスをテストするために、2 つの PHP バージョンを異なるディレクトリにインストールしました。

インストールプロセスはスキップされます。ソースコードのインストールまたはパッケージ管理ツールのインストールに関係なく、独自のパスを覚えておいてください。

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

環境の説明: 最良のテスト効果を保証するために、このテストは運用環境に近い環境で直接実行されます。本当の状況。
オペレーティング システム: CentOS 7.2 64 ビット
基本構成: 1 コア 1GB 1Mbps
ホスト ブランド: Tencent Cloud

PHP7 と PHP5 の競合

1. 純粋な php スクリプト テスト

##vim test.php

$arr = array();for ($i = 0; $i PHP5 バージョン テスト: <p></p><pre class="brush:php;toolbar:false">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.050s
PHP7 バージョン テスト:

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.022s
データから、簡単な PHP スクリプト テストを通じて php7 のパフォーマンスが 3 ~ 4 倍向上していることがわかります。

2.php データベース操作テスト

最初にユーザー テーブルを作成します:

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=utf8
データの一部を test_user テーブルに挿入します:

insert into test_user (uid,name) values (1,"dada");MariaDB [test]> select * from test_user;+-----+------+| uid | name |+-----+------+|   1 | dada |+-----+------+
データベース テスト スクリプト test_db.php を作成し、両方の PHP バージョンに PDO 拡張機能がインストールされていることを確認します。

/usr/bin/php -m|grep pdopdo_mysqlpdo_sqlite/usr/local/php7/bin/php -m|grep pdopdo_mysqlpdo_sqlite
私の 2 つの PHP バージョンには PDO がインストールされています (php_mysql 拡張機能はもう使用しないでください。これは時代遅れで、PHP7 は完全に放棄されており、mysqli は推奨されません)。

次に、PDO を使用して、選択実行のパフォーマンス比較を 500,000 回テストするスクリプトを作成します。

$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><p>";}$sql = "select  SQL_NO_CACHE * from test_user;";$tmp = array();for ($i=1; $iquery($sql);foreach ($ret as $row) {$tmp['id']   = $row['id'];$tmp['name'] = $row['name'];}}</p>
PHP5 テスト test_db.php:

time /usr/bin/php test_db.phpreal    0m48.396suser    0m11.149ssys     0m3.998sreal    0m51.447suser    0m11.800ssys     0m4.395sreal    0m51.517suser    0m11.733ssys     0m4.439s
PHP7 テスト test_db.php:

real    0m47.900suser    0m9.875ssys     0m4.130sreal    0m46.977suser    0m9.760ssys     0m3.983sreal    0m50.010suser    0m10.268ssys     0m4.307s
今回、スクリプトは 500,000 クエリを実行しました。PHP7 で実行されたスクリプトのユーザー実行時間は、PHP5 よりもほぼ 1 秒短縮されました。 1ミリ秒ではなく、1秒減ります。

3.PHP フレームワーク テスト

  • thinkphp

国内肯定これが thinkphp フレームワークの第一選択であり、最新の thinkphp5 を選択してください。 thinkphp5.0.9 バージョンを公式 Web サイトから直接ダウンロードしました。

  • (1) フレームワークエントリテスト

PHP5 でのテスト:

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 でのテスト:

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
入学テストでは、PHP と PHP7 に大きな違いはありませんが、それでも PHP7 の方が若干速いことがわかります。

  • (2) フレームワーク ロジック テスト

    フレームワーク入口の最初のステップのロジックを再利用します:

<?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);}}}}}
PHP5 バージョン:

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
PHP7 バージョン:

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.026s
thinkphp フレームワークで PHP7 バージョンを使用すると、PHP5 バージョンの約 4 倍のパフォーマンスが向上します。

  • laravel

次に、最も人気のある PHP アーティストのフレームワークをテストします。

  • (1) フレームワーク導入テスト

    PHP5 バージョン:

time /usr/bin/php ./public/index.phpreal    0m0.104suser    0m0.081ssys     0m0.022sreal    0m0.148suser    0m0.122ssys     0m0.025sreal    0m0.122suser    0m0.100ssys     0m0.021s
PHP バージョン

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
laravel フレームワークのエントリーテストでは、PHP5 と PHP7 のパフォーマンスに大きな違いはありませんが、PHP5 の最速バージョン (0.081 秒) でさえ、PHP7 の最も遅いバージョン (0.067 秒) よりも遅いです。したがって、PHP7 の方がまだ優れています。

  • (2) フレームワーク ロジック テスト

    テスト ロジックを再利用するために、thinkphp などの小さなロジックを追加してみます。
    まず、laravel ルーティングを変更し、UserController のインデックス メソッドを直接呼び出します:

Route::get('/', 'UserController@index');
インデックス メソッドにテスト ロジックを記述します:

public function index(){$arr = array();for ($i = 0; $i PHP5 バージョン<p></p><pre class="brush:php;toolbar:false">time /usr/bin/php ./public/index.phpreal    0m0.510suser    0m0.377ssys     0m0.079sreal    0m0.627suser    0m0.447ssys     0m0.091sreal    0m0.519suser    0m0.436ssys     0m0.079s
PHP7 バージョン

time /usr/local/php7/bin/php ./public/index.phpreal    0m0.201suser    0m0.167ssys     0m0.032sreal    0m0.216suser    0m0.174ssys     0m0.040sreal    0m0.169suser    0m0.134ssys     0m0.034s
PHP7 のパフォーマンスが 3 ~ 4 倍向上しました

ストレス テスト

1000 リクエスト、 50 同時実行

  • PHP5 バージョン:

3 つのサンプルは次のとおりです:

##PHP7 バージョン:

PHP7 バージョンでのストレス テストを通じて、単一リクエスト時間とリクエスト完了時間の平均、および各接続リクエストの実際の実行時間が確認できます。最も重要なことは、パフォーマンス指標 QPS も PHP5 バージョンよりも高いということです。

PHP7 の Opcache パフォーマンス テスト

opcache を有効にする:


##################### くそ! opcache をオンにした PHP7 はまさに離陸寸前で、オンにしていない PHP7 と比較すると 10 倍以上、PHP5 と比較すると 20 倍近くパフォーマンスが向上しています。怖いか聞いてください!

PHP スクリプト テスト データは次のとおりです:

PHP7 対 PHP5

純粋な PHP スクリプト テスト プロセス、 PHP7のパフォーマンス PHP5の約3~4倍。

ストレス テスト データは次のとおりです:

PHP5 対 PHP7 対 PHP7 OPCACHE

結論:

この記事では、PHP7 と PHP5 を単純に比較します。実際にパフォーマンスは 3 ~ 4 倍向上しており、PHP 純粋なスクリプトでもフレームワークでも、PHP7 の高いパフォーマンスは一貫しています。

PHP7 は高速です。PHP7 OpCache は高速です。PHP7 は本当に素晴らしいです。PHP の新時代が到来しました。すぐに使ってください。

以上がphp7とphp5の比較を紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、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ヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール