Hi Dmitry,

> -----Original Message-----
> From: Dmitry Stogov [mailto:dmi...@zend.com]
> Sent: Thursday, September 1, 2016 1:57 PM
> To: PHP internals list <internals@lists.php.net>
> Cc: Zeev Suraski <z...@zend.com>; Xinchen Hui <xinche...@zend.com>
> Subject: [PHP-DEV] JIT for PHP project
> 
> Hi @internals,
> 
> I'm glad to say that we have started a new JIT for PHP project and hope to
> deliver some useful results for the next PHP version (probably 8.0).
> We are very early in the process and for now there isn't any real
performance
> improvement yet.  So far we spent just 2 weeks mainly working on JIT
> infrastructure for x86/x86_64 Linux (machine code generation,
disassembling,
> debugging, profiling, etc), and we especially made the JIT code-generator
as
> minimal and simple as possible. The current state, is going to be used as
a
> starting point for research of different JIT approaches and their
usability for PHP.
> 
> The code is available at: https://github.com/zendtech/php-src/tree/jit-
> dynasm/ext/opcache/jit
> 
> The sources may be built and tested as regular PHP (no any special
external
> dependencies required).
> JIT itself is implemented as a part of Opcache.
> You may try it in action:
> 
> sapi/cli/php -d opcache.jit_buffer_size=32M Zend/bench.php sapi/cli/php -d
> opcache.jit_buffer_size=32M -d opcache.jit_debug=1 Zend/bench.php 2>&1 |
> less
> 
> As I mentioned we didn't try to achieve any real performance improvement
yet,
> although we do currently see 20% speedup on bench.php, but a bit of a
> slowdown on real-life apps.
> 
> Wish us luck :)
> 
I just wanted to ask about the status. After starting to do some basic work
https://github.com/zendtech/php-src/compare/jit-dynasm...weltling:jit-dynasm
I've stumbled upon a couple of things

- in zend_elf.c, the current binary that loads php is being read in, I guess
this part needs to be ported to parse the Windows COFF format
- with DynASM, seems zend_jit_x86.dasc will need to be extended for some
compatibility, please correct if I'm wrong

Regarding these, maybe you've one or another tip for me? Is this still
relevant? Or I jump into it too early?

Thanks

anatol




-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to