Re: HYBRID VM

php.internals

Dmitry Stogov

9 years ago
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. On May 5, 2017 10:26 PM, Matt Wilmas <php_lists@realplain.com> wrote: 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

André Rømcke

9 years ago
> On 5 May 2017, at 22:06, Dmitry Stogov <dmitry@zend.com> wrote: > > 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?

lists@rhsoft.net

9 years ago
Am 10.05.2017 um 08:21 schrieb André Rømcke:
>> On 5 May 2017, at 22:06, Dmitry Stogov <dmitry@zend.com> wrote: >> >> 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

André Rømcke

9 years ago
> On 10 May 2017, at 10:53, "lists@rhsoft.net" <lists@rhsoft.net> wrote: > > > Am 10.05.2017 um 08:21 schrieb André Rømcke: >>> On 5 May 2017, at 22:06, Dmitry Stogov <dmitry@zend.com> wrote: >>> >>> 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
Already following that, but thanks for the sarcasmsplaining. Question was more in regards to if that will follow suite, but I assume not (yet), and this wouldn't be the right thread for it.