Re: 64-bit performance improvement by reducing zend_op size.
| From: | Dmitry Stogov | Date: | Thu, 11 Dec 2014 10:30:57 +0000 |
| Subject: | Re: 64-bit performance improvement by reducing zend_op size. | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-79569@lists.php.net to get a copy of this message | ||
Right. Actually ZEND_EX_USE_RUN_TIME_CACHE and ZEND_EX_USE_LITERALS just
control if corresponding fields of executed op_array should be cached in
current call frame (zend_execute_data). VM will have to execute additional
read/write on enter to each function, but then safe 1 read on each access
to run_time_cache and constants. Surprisingly, I found that on some systems
ZEND_EX_USE_LITERALS=1 is slower than ZEND_EX_USE_LITERALS=0. I can explain
it only by increasing of the size of zend_execute_data.
So I decided to introduce ZEND_EX_USE_RUN_TIME_CACHE for consistency (and
to check its effect). It always makes improvement. :)
Thanks. Dmitry,
On Thu, Dec 11, 2014 at 1:05 PM, Patrick ALLAERT <patrickallaert@php.net>
wrote:
> Hi,
>
> 2014-12-10 16:27 GMT+01:00 Dmitry Stogov <dmitry@zend.com>:
> > Hi,
> >
> > Please, review the following patch
> > https://gist.github.com/dstogov/fba2cc621ef121826efe
>
> Looks good, but Isn't ZEND_EX_USE_RUN_TIME_CACHE always defined to 1
> with your patch?
>
> Regards,
> Patrick
>