首页 小组 问答 话题 好文 素材 用户 唠叨 我的社区

[分享]如何开启PHP8的JIT提升运行速度

天启Lv.1普通用户
2024-09-03 01:10:33
0
45

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秒,效率提升明显。

天启
天启

49 天前

签名 : 大运河向南是我家   45       0
评论
站长交流