zend-opcache - php の opcache と最近の php jit の違いは何ですか?
我想大声告诉你
我想大声告诉你 2017-06-26 10:49:19
0
2
1219

opcache は、zend エンジンのコンパイルによって生成されたオペコードをキャッシュするために使用されるため、次回コンパイルする必要はありません。
最近 php jit について聞いて、jit の概念について調べてみました。説明は次のとおりです:

JIT コンパイル (ジャストインタイム コンパイル)、つまり狭義のジャストインタイム コンパイルとは、あるコードを初めて実行するときにコンパイルすることを指します。をコンパイルせずに直接実行する場合は、動的コンパイルの一種であり、特殊なケースです。

php の jit と opcache の違いは何ですか?

我想大声告诉你
我想大声告诉你

全員に返信(2)
黄舟

源代码(人认识)->字节码(解释器认识)->机器码(硬件认识)
来看下PHP的执行流程,假设有个a.php文件,不启用opacache的流程如下:
a.php->经过zend编译->opcode->PHP解释器->机器码
启用opacache的流程如下
a.php->查找opacache缓存,如果没有则进行zend编译为opcode并缓存->opacode->PHP解释器->机器码
启用jit的流程如下
a.php->编译->机器码
将来的には、コンパイルなしでマシンコードのみが実行されるようになり、より効率的になります

いいねを押す +0
三叔

JIT の概念は実際には Java から来ています。Java では、JIT コンパイラーはバイトコードをマシンコードにコンパイルするプロセスです。

PHP と Java がマッピングされている場合、PHP を OpCode にコンパイルするプロセスは、Java をバイトコードにコンパイルするプロセスであり、ひいては、PHP の JIT は、OpCode をマシンコードにコンパイルするプロセスです。

もっと簡単に言うと、PHP プログラムは OpCode にコンパイルされ、実行のために PHP インタープリターに渡されます。このプロセスは依然として解釈と実行のプロセスです。また、JIT を通じてマシンコードにコンパイルすると、プログラムの実行効率が大幅に向上します。

いくつかの人気のあるスクリプト言語にはすでに独自の JIT がありますが、PHP にはこの点がまだ不足しています。それでは、楽しみにしていてください、PHP 8 を楽しみにしていてください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!