PHPはPHPNGとHHVMとゼフィルと戦います
キーポイント
-
PHPの新しいブランチであるPHPNGが開発中であり、PHPを大幅に最適化し、JITコンパイラの将来の使用におけるさらなるパフォーマンスの改善を可能にすることを目指しています。これはJITコンパイラ自体ではなく、将来的に優れたJITコンパイラを構築するための基盤を築くアップグレードです。
- ngアップグレードは、PHPデータ型へのメモリ割り当てを改善するために、Zendエンジンのコアパーツの書き換えに焦点を当てています。これにより、パフォーマンスが向上し、よりクリーンなAPIが可能になると予想されます。
- PHPNGは既存の拡張機能との互換性を約束していますが、すべての拡張機能がサポートされているわけではなく、一部のテストが失敗しました。これらの互換性の問題は、アップグレード時に共有ホスティングプロバイダーに課題をもたらす可能性があります。
- PHPコア開発チームの変化の遅い適応は、PHPNGの実装がパフォーマンスのアップグレードのみを提供し、ハックとHHVMと競合できないことを意味する場合があります。
この記事はNewRelicが後援しています。 SitePointを可能にしてくれたスポンサーへのご支援ありがとうございます! 記事の以前のバージョンは、phpngをJITコンパイラとして誤って説明しました。これは事実ではなく、必要な変更が完了しました。詳細については、記事の下部をご覧ください。
旧世界の混乱!数年前、まず第一に、Hiphop、誰もそれに注意を払いませんでした。その後、突然、HHVMが表示され、ハックが導入され、すべてが混乱しています-Facebookは新しいPHPを作成し、すべてを壊し/修正します(尋ねる人に応じて)。さらに、ZephirはすべてのPHPコードをCレベルでコンパイルすると脅し、現在のPHP拡張機能を完全にサポートしています(ZephirはCまたはPHPを置き換えることを意図していませんが、PHPのようなコードを作成してCにコンパイルすることを可能にします。すべてのPHPアプリケーションを簡単に書き換えて、閉じたソース用にコンパイルできる形式に簡単に書き換えて、より速く、より多くのセキュリティを実現できます。代替PHPランタイムの場合、これはキノコが成長する時期であり、HippyVMも登場します。この一連の変化では、別の新しい声が出現しました:phpng。
マヌエル・レモスが紹介するように、PHPNGはPHPの新しいブランチであり、まだ決定されていないPHPの将来のバージョンに登場します。
待って、何?
名前は少し安っぽい(NG =新世代)、PHPの不器用なバージョンは、COREチームがPHPを大幅に最適化し、JITコンパイラを使用して将来のパフォーマンスの改善を可能にしようとする試みです。 PHPNG自体はJITコンパイラではなく、将来的に優れたJITコンパイラを構築するための基盤を築くアップグレードです。 PHPNGブランチ自体には、JIT機能が含まれていません。
phpngは、Dmitry Stogovによって内部ニュースグループトピックで提示されました。 Dmitryは、主にZendエンジンを扱うZendのパフォーマンスと最適化を担当しています。 NGアップグレードは、Zendエンジンのコアパーツの書き換えに焦点を当て、PHPデータ型へのメモリ割り当てを改善します。
Redditからの抜粋:
ngは、主にすべてを常に割り当てているために、エンジンの現在の設計のために、実世界でzendが実行されたときに実行された実験zendが実世界で失敗したために存在します。 NGパッチが仕様を変更したため、デフォルトでZVALを割り当てなくなり、パフォーマンスが向上し、クリーナーAPIが可能になります。
「PHPの改善」の試みと同様に、この試みには長所と短所があります。
pro
速度!
実行により、リソースの割り当てが高速で、リクエスト処理が高速で、スループットが大きくなります。予備的な結果は勇気づけられています(1、2)。
パフォーマンスは、他の選択肢に対してベンチマークする必要がありますが、10〜30%の改善は過小評価できません。
展開!
このアップグレードは、ランタイムではなく公式のZendエンジンで行われるため、現在の拡張機能との互換性をほぼ保証します。人々がHHVMに移住することをためらう最大の理由の1つは、使用に慣れている基本的な拡張機能が利用できないことです(私の場合はPhalcon)。個人的には、Phalconをサポートするより速いPHPエンジンは、今日のハックオファーのアップグレードについてあまり心配しません。したがって、拡張された互換性を保証します…など。うん?なんてこった。
短所
展開!
信じられないほど良い。
すべての拡張機能がサポートされているわけではなく、一部のテストが失敗し、改善のためのアイデアが増えています。公平を期すために、ngはまだ非常に若いです。私たちがPHPの世界で扱った何よりもはるかに若く、より大きなアップデートのようなものです。したがって、いくつかの互換性の問題は避けられません。しかし、私はマヌエルに、アップグレード時間が来ると、これはほとんどの共有ホスティングプロバイダーにとって問題のポイントになる可能性があることに同意します。
私は共有ホスティングプロバイダーにかなり反対していますが、これがもたらす可能性のある問題を完全に理解しています。プロバイダーに「PHP5の使用」を獲得しようとしたとき、私たちは両方とも同様の混乱を抱えており、最新のPHPを使用する必要があるため、BCの混乱をもたらす可能性のある大きなシフトを作成することは困難な作業です。
この変化への恐怖は、PHPの古いバージョンの使用を固め、それが時代遅れのコードに取り組んでいるより非常に資格のないPHP開発者を繁殖させ、ベストプラクティスと脆弱性を完全に無視します。要するに、私たちは歴史を繰り返します。一部の人が指摘しているように、それは世界の終わりのように聞こえるかもしれませんが、私は毎日PHPのすべてのエリアに深く関わっており、完全な受信トレイで最も低品質のエリアに到達します。どこに行くか。ただし、すべてが暗いわけではありません。HerokuやDigitaloceanなどのソリューションにより、人々は共有ホスティングプロバイダーよりも少ない(または等しい)価格でPHPの最新バージョンを実行できます。
私の心からの希望は、コアチームがすべての拡張機能との逆互換性のあるレベルに新しいZendエンジンを完成させることができるが、NG仕様とベストプラクティスに準拠していないすべての拡張開発者にコンピレーション警告を発行できることです。
内部的に遅い
コア開発チームは、変化を遅くするために適応することで有名です。他の言語に長年にわたって存在していた最新の特徴は、過去に拒否され、数年後まで実装されていませんでした。
これがコア開発チームのビジョンの欠如によるものであるかどうか、アンソニーとフィルの投稿が言うように、または大きすぎて資金不足のために大きな変更を迅速に行うには問題ありません。神秘的なPHP6の場合のように、公共の場でNGを見ることができず、「アルファ」状態を取り除くことはできません。
これは、最後のポイントを思い出させます。
再び後ろに横たわっている
PHPコア開発チームでよく見られる固有の遅延により、NGが実装された場合にのみパフォーマンスのアップグレードが提供されます(実際に実装されている場合)。それまでに、HackとHHVM(標準のPHPよりもはるかに多く)は、一致するものが操作され、PHPが勝つ可能性がない非常に多くの追加機能を提供します。
今日のハックで利用可能なタイプのプロンプトとゼフィルは、これらの実装に根付いています。マルチスレッド、コンパイルされたスタンドアロンWebサーバー - これらの機能はすべて、今日の代替ソリューションで利用可能であり、ほとんどすべてが生産に進む準備ができています。コア開発チームはこれらの機能のいくつかに取り組んでおり、PHPはHHVMの前にIISサポートを持っている可能性がありますが(これは明らかに一部の人にとって重要です)、私はこれがPHPの進捗状況の公式側にとって十分に速くないと考えています。
コアチームが問題とニーズを持つこれらすべての特別な機能に「はい」に投票することを決定したとしても、実装するのに時間がかかりすぎます。彼らの全体が働く方法を変更します。ソースコードをGitHubに移動するのは良い動きですが、表面に触れるだけです。
言い換えれば、ラスマス自身は、HHVMが数年でPHPのコアエンジンになったと考えていると言われています。結論
Facebook関連の所有権(それ自体が多くのマイナスの意味を持つ)を残して、HHVMはそのようなアップグレードをどのように行うことができるかを示すことにより、開発者を正しい方向にプッシュします。これにより、革新を促進し、長い間王位に満足している人々に立ち上がって足を伸ばして、まだ走ることができるかどうかを確認します。 Facebookの攻撃性により、PHPの世界は何が起こっているのかを再訪して考えさせ、すぐに人気が高まりました。
競争は素晴らしいです。これが私たちをもたらすところならどこでもそれについて楽観的に感じています。
2014年5月28日の記事更新
フィルスタージョンとのメールを受け取り、公式声明を読んだ後、上記のテキストのいくつかを編集しました。要するに、PHPNGをJITに分類しますが、これは明らかにそうではありませんが、パフォーマンスのアップグレードだけであるため、コアチームは後で適切なJITコンパイラを開発できます。
PHP、HHVM、Zephir、およびPHPNG
に関するよくある質問PHPとZephirの主な違いは何ですか?
PHPとZephirはどちらもWeb開発のためのスクリプト言語です。 PHPは広く使用されているオープンソース言語ですが、Zephirは開発者がPHPの拡張機能を作成できる高レベルの言語です。 Zephirは静的なタイプ化された構文を提供します。これは、PHPの可能性のあるエラーを防ぐのに役立ちます。ただし、PHPにはコミュニティが大きく、より多くのリソースがあり、開発者にとって有益です。
HHVMとPHPNGを比較する方法は?
HHVM(HIPHOP仮想マシン)とPHPNG(PHP New Generation)はどちらもPHPコードを実行するためのエンジンです。 HHVMはFacebookによって開発されており、インスタント(JIT)コンピレーション方法を使用して優れたパフォーマンスを実現しています。一方、PHPNGは、PHPアプリケーションのパフォーマンスを改善することを目的としたPHPの内部プロジェクトです。これは、PHPが内部的に値とオブジェクトを表す方法を変更することでこれを行い、その結果、メモリの使用量が大幅に改善されます。
ゼフィルはまだメンテナンスを受けていますか?
Zephirは、最近の更新に従って積極的に維持されなくなりました。つまり、言語はまだ利用可能ですが、発生する可能性のある潜在的な問題に対する更新または修正がない場合があります。
ゼフィルを使用することの利点は何ですか?
Zephirは開発者に多くの利点を提供します。静的なタイプ付き構文を提供し、エラーを防ぐのに役立ちます。また、開発者はPHPの拡張機能を作成できるため、PHPアプリケーションのパフォーマンスを改善する方法を提供できます。
なぜゼフィルを作成するのですか?
Zephirを作成する目的は、開発者がPHPの拡張機能を作成できるようにする高レベルの言語を提供することです。目標は、開発者が最適化と管理が容易な言語で重要なコードパーツを作成できるようにすることにより、PHPアプリケーションのパフォーマンスを改善することです。
PHPNGはPHPアプリケーションのパフォーマンスをどのように改善しますか?
PHPNGは、PHPが内部的に値とオブジェクトを表す方法を変更することにより、PHPアプリケーションのパフォーマンスを向上させます。これにより、メモリの使用が大幅に改善され、PHPアプリケーションの実行時間が短縮される可能性があります。
HHVMとZephirの出現により、PHPの未来は何ですか?
HHVMとZephirの出現にもかかわらず、PHPは依然として広く使用されているWeb開発言語です。 HHVMとZephirはパフォーマンスの改善を提供しますが、PHPには膨大なコミュニティと豊富なリソースがあります。 PHPの将来は有望に見え、そのパフォーマンスと能力を改善するために常に取り組んでいます。
Zephirを使用してPHP拡張機能を記述できますか?
はい、ゼフィルの主な利点の1つは、開発者がPHPの拡張機能を作成できることです。これは、PHPアプリケーションのパフォーマンスを改善する方法かもしれません。
スクリプト言語と高レベルの言語の違いは何ですか?
スクリプト言語は、人間のオペレーターによって段階的に段階的に実行されるタスクを自動化するために使用されるプログラミング言語です。一方、高レベルの言語は、コンピューターの詳細を強く抽象化するプログラミング言語であり、読み書きが容易になります。
HHVMのインスタント(JIT)コンパイル方法はパフォーマンスをどのように改善しますか?
HHVMのインスタント(JIT)コンピレーション方法により、実行前にByteCodeをマシンコードにコンパイルすることにより、パフォーマンスが向上します。これにより、最適化が可能になり、PHPアプリケーションの実行速度を大幅に向上させることができます。
以上がPHPはPHPNGとHHVMとゼフィルと戦いますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。
