php8新特性JIT安装配置及测试教程

Writer @ ybzai 2020-11-27 10:47 阅读(3872)

配置文件php.ini

; On windows:
extension_dir = "E:\php8\ext"

zend_extension=opcache

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=1
;添加
opcache.jit=1205
opcache.jit_buffer_size=64M

说明:

  • 尽量使用12x5型的配置,此时应该是效果最优的
  • 对于x, 如果是脚本级别的,推荐使用0, 如果是Web服务型的,可以根据测试结果选择3或5

0~5代表的意思:

  • 0: PHP脚本载入的时候就JIT
  • 1: 当函数第一次被执行时JIT
  • 2: 在一次运行后,JIT调用次数最多的百分之(opcache.prof_threshold * 100)的函数
  • 3: 当函数/方法执行超过N(N和opcache.jit_hot_func相关)次以后JIT
  • 4: 当函数方法的注释中含有@jit的时候对它进行JIT
  • 5: 当一个Trace执行超过N次(和opcache.jit_hot_loop, jit_hot_return等有关)以后JIT

测试代码:

function simple() {
	$a = 0;
	for ($i = 0; $i < 90090000; $i++)
		$a++;
	return $a;
}
$start = microtime(true);
simple();
echo round(microtime(true)-$start,3).'秒';

不开启opchace不开启jit结果:0.743秒, 开启opchace不开启jit结果:0.743秒, 开启opchace开启jit结果:0.116秒,性能确实提升不少。

标签: PHP

感谢赞赏

微信支付
微信支付
支付宝
支付宝