HYBRID VM

php.internals

Dmitry Stogov

9 years ago
Hi, I propose a new VM instruction dispatch technique, that provides great speed up on small benchmarks (1.5 times on bench.php) 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.

Sebastian Bergmann

9 years ago
Am 03.05.2017 um 10:08 schrieb Dmitry Stogov:
> I propose a new VM instruction dispatch technique
Can we add information about the VM used to phpinfo() and/or --version output?

Sebastian Bergmann

9 years ago
Am 03.05.2017 um 10:08 schrieb Dmitry Stogov:
> Please review https://github.com/php/php-src/pull/2507
I was able to successfully run PHPUnit's own test suite using the hybrid VM. PHP 7.2 with Hybrid VM is about 4% faster compared to PHP 7.1 for this.

Matt W

9 years ago
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