PHP 7 がリリースされ、2 億の Web サイトのパフォーマンスが 2 倍になる見込み
10 年間の長い待ちを経て、PHP 7 がついに正式にリリースされました。世界中の Web サイトの 80% に影響を与えるこの開発言語は、バージョン 5.0 から失敗したバージョン 6.0 に飛び、一気に 7.0 時代に突入しました。
20 年前の初夏、1995 年 6 月 8 日、問題を解決するのが大好きな C 言語ソフトウェア エンジニアは、C を使用して自分の個人ホームページを作成する方法を見つけるのに苦労していました。 C言語版。彼は単に自分でツールを作成し、それを Personal Home Page Tools (略して PHP Tool) と名付けました。これは PHP 言語のオリジナル バージョンで、後に Facebook や Yahoo など、世界中で 2 億以上の Web サイトの開発に使用されました。そしてこのC言語開発者ラスムス・レルドルフはPHPの父となりました。 PHP は 1996 年にインターネットとともに普及し、すぐに開発者が Web サイトを構築するために選択するテクノロジーになりました。
しかし、急速に進化する IT の世界では、テクノロジーの出現が早ければ早いほど、変革の負担は大きくなります。 PHP 言語は、32 ビット アーキテクチャから始まり 64 ビット アーキテクチャに移行するまで、ずっとオペレーティング システムに従ってきました。2004 年に発売された PHP 5 は、大幅に改良され、オブジェクト指向アーキテクチャの世界に参入することに成功しました。ウェブサイト開発におけるテクノロジーリーダーとしての地位を確立しました。 Microsoft は使いやすさをスローガンに ASP Web サイト開発テクノロジーを使用して市場を掌握していますが、多くの Web サイト開発者の心の中では依然として PHP が第一の選択肢です。 2008 年には、台湾だけでも、少なくとも 4 つの Web サイトのうち 1 つが PHP を使用して開発されていました。
しかし、2005 年に、PHP は Unicode サポート プロセスで大きくつまずきました。 Unicode サポートは当初、PHP 6 の主要機能となる予定でしたが、開発コミュニティにおける多言語サポートに関する議論と PHP のパフォーマンス問題に関する疑念により、長く続く議論が生まれ、それが PHP の開発を遅らせることにもなりました。 2009 年には、PHP 6 のマイナー リビジョンが初めて PHP 6 のほとんどの機能 (Unicode サポートを除く) をサポートしました。翌年の春に、PHP 6 プロジェクトは正式に失敗し、終了しました。これは、PHP テクノロジーの開発にも霧を投げかけています。 PHP 5 は改訂と新しいバージョンの導入を続けていますが、それは常に小さな変更と修正を伴う一種の最適化であり、根本的な革新において大きな進歩はほとんどありません。言語の進歩は遅いにもかかわらず、PHP の影響力は拡大し続けており、2013 年初めの Netcraft Web サイトの統計では、世界中で 2 億 4,000 万を超える Web サイトのバックエンド開発言語が PHP を使用していることが示されました。
今年 5 月にラスムス・レルドルフ氏が講演のために台湾に来たとき、Facebook が自社の Web サイトの速度を高めるために PHP コンパイル エンジンの JIT メソッドを書き換えたので、PHP 開発者はそのやり方を再考することになったと私に話しました。 PHP言語のパフォーマンス。
2014 年、PHP 開発者のグループ (中国の Hui Xinchen を含む) は、パフォーマンスを向上させるために、躊躇せずに PHP NG プロジェクト (PHP New Generation) である PHP 言語の再構築を開始しました。 PHP 言語のソース コードを確認し、書き換えたところ、PHP プログラムのパフォーマンスが 30% 大幅に向上したことがわかりました。
古いバージョンの PHP 言語の開発目標は、あらゆる Web サイト開発のニーズを満たすためにできるだけ多くの機能を提供することでしたが、新しい PHP 7 ではパフォーマンスと機能の両方を考慮することが期待されています。ラスムス・レルドルフはそう言った。
しかし、10 年間にわたって開発され、世界中のオープンソース開発者によって注意深く作成されてきた開発言語のパフォーマンスを大幅に向上させる鍵を見つけるのは簡単ではありません。
このため、PHP 5 リファクタリング プロジェクト PHP NG の大きな成果も PHP 開発コミュニティによってサポートされ、PHP 7 の基礎となりました。開発コミュニティは、PHP のすべての行を注意深く精査するようになりました。さまざまな場所からパフォーマンス最適化の鍵を見つけてください。
たとえば、PHP コア開発チームは、PHP 変数のデータ構造 zval を 24 から減らすなど、PHP プログラムの実行時に移動する必要があるメモリ ビット数を減らすために多大な努力を費やしてきました。ビットから 16 ビットまで。または、CPU レベルのコード操作プロセスを再検討して、PHP 7 コードが新世代のプロセッサ アーキテクチャとより一致していることを確認します。
それぞれの最適化の変更によるパフォーマンスの向上は 0.5% 未満にとどまる可能性がありますが、数百回の検討を経て、PHP 7 のパフォーマンスは古いバージョンと比較して 2 倍になりました。
PHP 5 から 7 へのアップグレードは簡単な作業ではありませんが、PHP で開発された世界中の 2 億の Web サイトにとって、PHP 7 は間違いなく、既存の Web サイトのパフォーマンスのボトルネックを解決する新しい救世主です。