キーポイント
-
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 サイトの他の関連記事を参照してください。

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

この記事では、Laravel Webフレームワークの通知システムを検討します。 Laravelの通知システムを使用すると、さまざまなチャネルでユーザーに通知を送信できます。今日は、通知ovを送信する方法について説明します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
