1. 程式人生 > >php 的 opcache 和最近的 php jit 有什麼區別?

php 的 opcache 和最近的 php jit 有什麼區別?

原始碼(人認識)->位元組碼(直譯器認識)->機器碼(硬體認識)
來看下PHP的執行流程,假設有個a.php檔案,不啟用opacache的流程如下:
a.php->經過zend編譯->opcode->PHP直譯器->機器碼
啟用opacache的流程如下
a.php->查詢opacache快取,如果沒有則進行zend編譯為opcode並快取->opacode->PHP直譯器->機器碼
啟用jit的流程如下
a.php->編譯->機器碼
以後都只執行機器碼,不編譯,效率上高了很多

參考文獻:

https://segmentfault.com/q/1010000009911944/a-1020000009913167