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 >