PHP8开启JIT
JIT时php8的重要功能之一,可以极大的提高性能;
JIT编译器集成在了Opcache插件中,仅在启动Opcache插件才有效
Opcache将 PHP 脚本编译后的字节码存储到内存中,以避免每次执行脚本时重新解析和编译,从而提高 PHP 应用程序的性能和响应速度。
Opcache开启:
编辑php.ini文件,将zend_extension=opcache前面的‘;’号去掉
然后把opcache的几个配置项也开启 (去掉;)
opcache.enable=1;
opcache.enable_cli=0;
opcache.memory_consumption=128;
opcache.interned_strings_buffer=8;
opcache.max_accelerated_files=10000
再在opcache.max_accelerated_files=10000新增下面两段配置就可以了
opcache.jit=tracing
opcache.jit_buffer_size=100M
重启php-fpm:
pkill -USR2 php-fpm
运行phpinfo();如果看到这个代表JIT开启成功
测试代码:
function t(){ $r = 0; for ($c = 0; $c < 1000000000; $c++) { $r += $c; } } $start = microtime(true); t(); $end = microtime(true); $spend = round($end - $start, 3); echo $spend;
将php.ini中的jit配置注释掉后,重启php-fpm运行代码
;opcache.jit=tracing
;opcache.jit_buffer_size=100M
再将两配置的注释去掉,重启php-fpm运行代码:
关闭JIT运行:
5.88秒
打开JIT运行:
1.04秒
由此可见,JIT对数学计算的性能提升还是很大的