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 <patrickalla...@php.net>
wrote:

> Hi,
>
> 2014-12-10 16:27 GMT+01:00 Dmitry Stogov <dmi...@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
>

Reply via email to