1 回答

TA貢獻(xiàn)10條經(jīng)驗(yàn) 獲得超2個(gè)贊
就算沒(méi)有啟用opcache,操作系統(tǒng)也會(huì)把熱點(diǎn)文件緩存在內(nèi)存中(buffers/cache),Linux上執(zhí)行free可見(jiàn)buffers/cache占用的內(nèi)容.Windows資源監(jiān)視器內(nèi)存標(biāo)簽下的"備用"內(nèi)存就相當(dāng)于Linux的磁盤(pán)緩存buffers/cache.
opcache的好處在于省去了PHP源代碼到opcode中間碼的轉(zhuǎn)換過(guò)程,并且保證腳本對(duì)應(yīng)的opcode都保存在內(nèi)容中.
而C開(kāi)發(fā)的PHP框架Yaf在編譯時(shí)就已經(jīng)被GCC優(yōu)化生成機(jī)器碼,在PHP服務(wù)(PHP-FPM/Apache MOD PHP)啟動(dòng)時(shí)就被加載到內(nèi)存,opcode的性能跟機(jī)器碼的性能差距很大,就算是Java中編譯時(shí)優(yōu)化過(guò)的bytecode,跟JIT運(yùn)行時(shí)編譯生成的機(jī)器碼相比,差距也很大,而PHP的opcode在運(yùn)行時(shí)生成,為了快速一般都不做什么優(yōu)化,所以opcode跟機(jī)器碼性能差距應(yīng)該比Java的bytecode還要大.
- 1 回答
- 0 關(guān)注
- 1315 瀏覽
添加回答
舉報(bào)