如何开启PHP8的JIT提升运行速度
更新:2023-11-17 13:14:20
人气:384
来源:本站原创
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秒,效率提升明显。
推荐的文章
随手记
- ● base64.js文件下载及使用方法说明
- ● windows利用bat微信双开、多开
- ● 百度API提交推送报{"error":401,"message":"tokenisnotvalid"}什么原因
- ● 如果在调用创建群接口时没有保存OpenConversationId,可以通过调用本接口通过chatId获取OpenConversationId
- ● Windows中使用BAT文件设置指定IP地址或自动获取IP
- ● php中如何对PHPSESSIDcookie设置httponly
- ● Navicat连接mysql出现1045错误,各种情况分析
- ● 用Apache的ab并发性能测试结果如何分析出最大并发数?
- ● Arrayandstringoffsetaccesssyntaxwithcurlybracesisnolongersupport
- ● Apache下如何关闭Track/trace请求设置及状态验证(window下)
PHP经验分享
- ● 钉钉API接口-用PHP+Curl实现获取用户信息
- ● 钉钉API接口-用PHP+Curl实现获取应用Access_Token
- ● 在PHP中使用CURL,“撩”服务器只需几行——phpcurl详细解析和常见大坑
- ● mysql参数调优之innodb_thread_concurrency、innodb_concurrency_tickets合理的使用cpu性能
- ● PHP用fsockopen检测指定IP端口是否开启可用
- ● PHP用socket检测服务器IP端口是否开放?代码示例
- ● GatewayWorker报错:Waring:Events::onMessageisnotcallable
- ● PHP监控指定IP端口接收到的数据的实现代码
- ● php怎么获取不带后缀的文件名
- ● AJAX接收PHP返回的JSON数据中有HTML标签代码报错