It provides comparabele improvement on smal benchmarks, without degradation on real apps.
It can be compiled in reasonale time (GOTO requres significant time anda lot of memory).
Finally HYBRID fallbak to CALL if compiler doesn't provide necessary extensions.
Thanks. Dmitry.
Hi Dmitry,
----- Original Message -----
From: "Dmitry Stogov"
Sent: Wednesday, May 03, 2017
Hi,
I propose a new VM instruction dispatch technique, that provides great
speed up on small benchmarks (1.5 times on bench.php)
Interesting. :-) How does this compare to pure GOTO dispatch...?
Please review https://github.com/php/php-src/pull/2507
Take into account, that HYBRID VM is not enabled by default and VM has to
be regenerated by "php zend_vm_gen.php --with-vm-kind=HYBRID"It doesn't work with phpdbg, out of the box, and may make some troubles to
xdebug and other system extensions.I'm going to commit this into master after review and then rise question
about enabling it by default in PHP-7.2.Thanks. Dmitry.
- Matt
It provides comparabele improvement on smal benchmarks, without degradation on real apps.
It can be compiled in reasonale time (GOTO requres significant time anda lot of memory).
Finally HYBRID fallbak to CALL if compiler doesn't provide necessary extensions.
While at it how does this compare to jit branch?
Thanks. Dmitry.
Hi Dmitry,
----- Original Message -----
From: "Dmitry Stogov"
Sent: Wednesday, May 03, 2017Hi,
I propose a new VM instruction dispatch technique, that provides great
speed up on small benchmarks (1.5 times on bench.php)Interesting. :-) How does this compare to pure GOTO dispatch...?
Please review https://github.com/php/php-src/pull/2507
Take into account, that HYBRID VM is not enabled by default and VM has to
be regenerated by "php zend_vm_gen.php --with-vm-kind=HYBRID"It doesn't work with phpdbg, out of the box, and may make some troubles to
xdebug and other system extensions.I'm going to commit this into master after review and then rise question
about enabling it by default in PHP-7.2.Thanks. Dmitry.
- Matt
Am 10.05.2017 um 08:21 schrieb André Rømcke:
It provides comparabele improvement on smal benchmarks, without degradation on real apps.
It can be compiled in reasonale time (GOTO requres significant time anda lot of memory).
Finally HYBRID fallbak to CALL if compiler doesn't provide necessary extensions.While at it how does this compare to jit branch?
obviously it's not "one or the other"
https://github.com/zendtech/php-src/tree/jit-dynasm/ext/opcache/jit
https://github.com/zendtech/php-src/commit/d570de2cb6a88d9772f510d112a04ce4022110cd