国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

zend-opcache - php 的 opcache 和最近的 php jit 有什么區(qū)別?
我想大聲告訴你
我想大聲告訴你 2017-06-26 10:49:19
0
2
1343

opcache 是用于緩存 zend 引擎編譯生成的 opcode,下次就無(wú)需編譯。
最近聽(tīng)說(shuō)了 php jit,看了一下 jit 的概念,描述是這樣的:

JIT編譯(just-in-time compilation),即即時(shí)編譯,狹義指某段代碼即將第一次被執(zhí)行時(shí)進(jìn)行編譯,而后則不用編譯直接執(zhí)行,它為動(dòng)態(tài)編譯的一種特例。

那 php 的 jit 和 opcache 有什么區(qū)別呢?

我想大聲告訴你
我想大聲告訴你

全部回復(fù)(2)
黃舟

源代碼(人認(rèn)識(shí))->字節(jié)碼(解釋器認(rèn)識(shí))->機(jī)器碼(硬件認(rèn)識(shí))
來(lái)看下PHP的執(zhí)行流程,假設(shè)有個(gè)a.php文件,不啟用opacache的流程如下:
a.php->經(jīng)過(guò)zend編譯->opcode->PHP解釋器->機(jī)器碼
啟用opacache的流程如下
a.php->查找opacache緩存,如果沒(méi)有則進(jìn)行zend編譯為opcode并緩存->opacode->PHP解釋器->機(jī)器碼
啟用jit的流程如下
a.php->編譯->機(jī)器碼
以后都只執(zhí)行機(jī)器碼,不編譯,效率上高了很多

三叔

JIT這個(gè)概念其實(shí)來(lái)自Java,在Java里,JIT編譯器是將字節(jié)碼編譯為機(jī)器碼的過(guò)程。

如果把PHP和Java做對(duì)應(yīng),那么PHP編譯成OpCode的過(guò)程就是Java編譯為字節(jié)碼的過(guò)程,而引申起來(lái),PHP的JIT,也就是把OpCode編譯為機(jī)器碼的過(guò)程。

更簡(jiǎn)單的說(shuō),PHP程序編譯成OpCode,而后交給PHP解釋器取執(zhí)行,這樣的過(guò)程還是一個(gè)解釋執(zhí)行的過(guò)程。而如果通過(guò)JIT編譯為機(jī)器碼,那么程序的執(zhí)行效率是可以得到大幅提高的。

目前熱門(mén)的幾個(gè)腳本語(yǔ)言,都已經(jīng)擁有了自己的JIT,唯獨(dú)PHP這方面還有欠缺。所以,有所期待吧,期待PHP 8

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板