OPcache是一个PHP扩展程序,由PHP官方发布,其功能是缓存编译后的字节码以供后续使用,可提升程序的处理速度。
历史
2008年,OPcache的前身,PHPNG的开发已经开始,到了2013年,PHP团队在新的5.5.0版本将OPcache合并进入PHP核心并被默认启用,这标志着OPcache成为官方且预装扩展,而在最新的PHP 8.4.0中,OPcache的JIT默认获得了64MB的缓冲区空间,但需手工启用。
原理
OPcache在访问新代码片段时,會检查其是否存在於缓存。若答案為否,則會编译該段代码,并将编译后生成的字节码在内存中进行缓存或实时编译所有代码。另外,OPcache同样缓存了一些常量及文件中的符号表。
实际性能提升
在PHP 5.5时,OPcache之性能提升约50%,同时降低了磁盘和CPU的占用率(因为编译过程需要消耗大量CPU,提升如此显著的原因是操作码被缓存,PHP无需再读取、解析、编译原始码。
參考資料
外部連結
评论 (0)