php8融入JIT,可以直接将php代码编译成机器码,而不像现在这样经过zend编译,PHP解释器等中间过程。
在密集型CPU运算应用中得到更高的性能提升。
php可以在机器学习、图形渲染和数据分析方面提高适用范围。
一组各编程语言测试结果显示在PHP7上启用JIT后性能提高了4倍。
本页数据来自:
https://gist.github.com/dstogov/12323ad13d3240aee8f1
的测试数据,数据供参考。并无权威性。
结果对比:
运行环境 | 执行时间 |
---|---|
PHP7-JIT (JIT=on) | 0.011 |
gcc -O2 (4.9.2) | 0.013 |
LuaJIT-2.0.3 (JIT=on) | 0.014 |
gcc -O0 (4.9.2) | 0.022 |
HHVM-3.5.0 (JIT=on) | 0.030 |
Java-1.8.0 (JIT=on) | 0.059 |
LuaJIT-2.0.3 (JIT=off) | 0.073 |
Java-1.8.0 (JIT=off) | 0.251 |
PHP-7 | 0.281 |
squirrel-3.0.4 | 0.335 |
Lua-5.2.2 | 0.339 |
PHP-5.6 | 0.379 |
PHP-5.5 | 0.383 |
PHP-5.4 | 0.406 |
ruby-2.1.5 | 0.684 |
PHP-5.3 | 0.855 |
HHVM-3.5.0 (JIT=off) | 0.978 |
PHP-5.2 | 1.096 |
python-2.7.8 | 1.128 |
PHP-5.1 | 1.217 |
perl-5.18.4 | 2.083 |
PHP-4.4 | 4.209 |
PHP-5.0 | 4.434 |
测试代码
function iterate($x,$y){ $cr = $y-0.5; $ci = $x; $zr = 0.0; $zi = 0.0; $i = 0; while (true) { $i++; $temp = $zr * $zi; $zr2 = $zr * $zr; $zi2 = $zi * $zi; $zr = $zr2 - $zi2 + $cr; $zi = $temp + $temp + $ci; if ($zi2 + $zr2 > BAILOUT) return $i; if ($i > MAX_ITERATIONS) return 0; }
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。