PHP8の追加機能「JIT(ジャストインタイム)コンパイラー」で高速処理

WordPress6.1からキャッシュ関係の厳しいチェックを解決するために、PHPの機能からデータ部分のキャシュ処理による高速化により、WordPressのヘルスセンターの確認で「すべて問題なく作動中!」となった。但し、ホスティングサービスに関するプラグインは利用しないので、そのインフォメーションは非表示にした。

server

Just-In-Time (jit) compiler

php8以降に追加された機能でデータキャシュ等の処理を高速化


PHP8のリリースで「JIT(ジャストインタイム)コンパイラー)」と言う機能が追加、この機能によるパフォーマンスで環境により左右されるようだけど、約1.5~3倍程度高速処理されるらしい。

PHP8-OPcacheの追加機能JITついてJITはJust-In-Timeの略でプログラムの実行時にソースコードをネイティブコードへコンパイルを行う。これをメモリに保持しておき、同じリクエストが来た場合にコンパイル済みコードを実行して処理を高速化。JIT は opcache が有効になっている場合にのみ機能する。これはOPcacheで「opcache.enable=1」に設定されている必要があり、又、JIT自体を有効にするには、「opcache.jit_buffer_size」を指定する必要がある。
*ソースコードからバイトコード(Opcode)へ変換し、変換されたOpcodeをZend Engineが解釈しネイティブコード(機械語)へ変換

JITを知ったのは、OPcacheを有効化するとApacheで「キャシュがオーバフロー」したとの警告が出た為で、原因を調べるとOpcacheを有効化するためには「opcache.jit」の設定も必要になる。取り合えず最低限必要な「opcache.jit=off」にしてからベーシックな設定を施した。

zend_extension = opcache
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=4
opcache.max_wasted_percentage=5
opcache.use_cwd=1
;opcache.jit=off
[JITの設定部分]
opcache.jit = 1255
opcache.jit_buffer_size = 100M
;opcache.jit = on
*opcache.jit_buffer_size=100M ←変更
*opcache.jit=1255 ←(on)の替りにディフォルト値として。

キャッシュ用Zend ExtensionsであるOPcacheの機能の一部として実装されている。ようは「opcache.jit」のプログラムに適した設定をすることで「OPcacheより高速化が見込めるキャッシュ機能」となるようだ。ん~、難しい!

クリックコメントを閉じる

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

TOP

Copyrighted Image