如何开启PHP8的JIT提升运行速度
更新:2023-11-17 13:14:20
人气:1841
来源:本站原创
A+
JIT时php8的重要功能之一,JIT在Opcache优化之后的基础上,再次优化,直接生成机器码。
JIT编译器集成在了Opcache插件中,仅在启动Opcache插件才有效,JIT是在原来Opcache优化的基础之上进行优化的,不是替代。目前PHP8只支持x86架构的CPU。
Opcache将 PHP 脚本编译后的字节码存储到内存中,以避免每次执行脚本时重新解析和编译,从而提高 PHP 应用程序的性能和响应速度。
Opcache开启:
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
;opcache.jit=off #注释掉此行
opcache.jit_buffer_size=100M #此处是设置开启JIT的核心
设置好后,重启apache即可。
在phpinfo的界面中Zend OPcache中如果看到JIT为”On“的状态表示开启成功。
测试一下运行速度:
$time1=time();
echo "开始时间:".$time1."<br>";
function gogogo($time1){
$r = 0;
for ($c = 0; $c < 1000000000; $c++) {
$r += $c;
}
$time2=time();
echo "结束时间:".$time2."<br>";
echo "时间差:".($time2-$time1)."<br>";
}
gogogo($time1);
我这里是PHP8.1的版本,开启JIT后运行时间为1-2秒,不开启JIT则为8-9秒,效率提升明显。
推荐的文章
随手记
PHP经验分享
- ● Pluginmysql_native_passwordreported:''mysql_native_password'isdeprecate问题
- ● PHP实现计算CRC-16/MODBUS校验位
- ● MySQLSUM在没有符合查询条件时返回结果为空的处理办法
- ● 钉钉API接口-用PHP+Curl实现获取用户信息
- ● 钉钉API接口-用PHP+Curl实现获取应用Access_Token
- ● 在PHP中使用CURL,“撩”服务器只需几行——phpcurl详细解析和常见大坑
- ● MySQLInnodb并发涉及参数说明
- ● mysql参数调优之innodb_thread_concurrency、innodb_concurrency_tickets合理的使用cpu性能
- ● PHP用fsockopen检测指定IP端口是否开启可用
- ● PHP用socket检测服务器IP端口是否开放?代码示例