On Mon, Feb 4, 2019 at 4:11 PM Dmitry Stogov <dmi...@zend.com> wrote:

>
>
> On 2/4/19 5:44 PM, Nikita Popov wrote:
> > On Mon, Feb 4, 2019 at 2:26 PM Dmitry Stogov <dmi...@zend.com
> > <mailto:dmi...@zend.com>> wrote:
> >
> >
> >
> >     On 2/1/19 4:23 PM, Dmitry Stogov wrote:
> >      >
> >      >
> >      > On 2/1/19 3:09 PM, Nikita Popov wrote:
> >      >> On Thu, Jan 31, 2019 at 10:44 AM Dmitry Stogov <dmi...@zend.com
> >     <mailto:dmi...@zend.com>
> >      >> <mailto:dmi...@zend.com <mailto:dmi...@zend.com>>> wrote:
> >      >>
> >      >>      Hi Internals,
> >      >>
> >      >>
> >      >>      I'm glad to finally propose including JIT into PHP.
> >      >>
> >      >>
> >      >> https://wiki.php.net/rfc/jit
> >      >>
> >      >>
> >      >>      In the current state it may be included both into PHP-8,
> >     where we
> >      >>      are going to continue active improvement, and into PHP-7.4,
> >     as an
> >      >>      experimental feature.
> >      >>
> >      >>
> >      >>      Thanks. Dmitry.
> >      >>
> >      >>
> >      >> I would like to check if the JIT provides an improvement for
> >     PHP-Parser.
> >      >> Unfortunately I'm getting a segfault when running the tests.
> >     Should be
> >      >> reproducible with
> >      >>
> >      >> git clone g...@github.com:nikic/PHP-Parser.git
> >      >> cd PHP-Parser
> >      >> composer install
> >      >> php-jit vendor/bin/phpunit
> >      >>
> >      >> I tried to debug this. Unfortunately my gdb doesn't seem to work
> >     with
> >      >> JIT: It hangs when the script starts running, on line
> >     Zend/zend_gdb.c:84
> >      >> in zend_gdb_register_code. I don't know if that's a bug or I
> >     need to do
> >      >> something additional here (I'm using GNU gdb (Ubuntu
> 8.1-0ubuntu3)
> >      >> 8.1.0.20180409-git).
> >      >
> >      > GDB takes enormous time registering too many JIT-ed functions...
> >      > It should be possible to catch the name of problematic functions
> >     and the
> >      > JIT only them (using PHPDOC trigger). I'll try to analyze the
> >     crash, but
> >      > most probably, only on next week.
> >
> >     I fixed the problem caused JIT to fail on PHP-Parser tests (it was
> >     related to changes introduced by typed properties patch).
> >
> >     I'm also going to disable automatic JIT code registration in GDB.
> >
> >     Thanks. Dmitry.
> >
> >
> > Thanks. I was now able to run a PHP-Parser benchmark, which showed ~1.5x
> > speedup with default JIT configuration. That's promising :)
> >
> > Next I want to try https://github.com/amphp/hpack (part of HTTP 2
> > implementation), where I also expect good results. Currently there is a
> > segfault while running tests.
>
> Could you provide a quick instruction, how to reproduce this (in the
> same way like with PHP-Parser).
>

The reproduce steps are basically the same in this case, just on a
different repo:

git clone g...@github.com:amphp/hpack.git
cd hpack
composer install
php-jit vendor/bin/phpunit

Nikita

Reply via email to