Re: [PHP-DEV] execute_data->Ts removing

2012-12-03 Thread Dmitry Stogov
Unfortunately, I didn't see visible performance gain on x86. :( It's near the measurement mistake. Probably it's because reading from L1 data cache is very cheap. Thanks. Dmitry. On Mon, Dec 3, 2012 at 7:33 PM, Nikita Popov wrote: > On Mon, Dec 3, 2012 at 10:35 AM, Dmitry Stogov wrote: > >> Th

Re: [PHP-DEV] execute_data->Ts removing

2012-12-03 Thread Nikita Popov
On Mon, Dec 3, 2012 at 10:35 AM, Dmitry Stogov wrote: > The new proposed patch: http://pastebin.com/pj5fQTfN > > Now both execute_data->Ts and execute_data->CVs are removed and > corresponding temporary and compiled variables accessed using > "execute_data" as the base pointer. Temporary variable

Re: [PHP-DEV] execute_data->Ts removing

2012-12-03 Thread jpauli
On Mon, Dec 3, 2012 at 2:26 PM, Dmitry Stogov wrote: > Hi Yoram, > > Yeas, I checked memory reads on a release PHP built (with -O2 optimization > level). > > The idea is very simple. Before the patch each access to TMP was > implemented as: > > execute_data->Ts + offset > > GCC with -O2 kept exec

Re: [PHP-DEV] execute_data->Ts removing

2012-12-03 Thread Dmitry Stogov
Hi Yoram, Yeas, I checked memory reads on a release PHP built (with -O2 optimization level). The idea is very simple. Before the patch each access to TMP was implemented as: execute_data->Ts + offset GCC with -O2 kept execute_data in register but it needed to read execute_data->Ts anyway and th

Re: [PHP-DEV] execute_data->Ts removing

2012-12-03 Thread yoram bar haim
Hi Dmitry. is this improvemnt (intruction reduce and memory read reduce) preserved under "strong" compiler optimization (-O2, -O3) ? is it something that the compiler can not automatically optimize ? anyhow, the patch seems impressive... On Monday, December 03, 2012 11:35:52 AM Dmitry Stogov wro

Re: [PHP-DEV] execute_data->Ts removing

2012-12-03 Thread Dmitry Stogov
The new proposed patch: http://pastebin.com/pj5fQTfN Now both execute_data->Ts and execute_data->CVs are removed and corresponding temporary and compiled variables accessed using "execute_data" as the base pointer. Temporary variables allocate directly before the "execute_data" in reverse order an

Re: [PHP-DEV] execute_data->Ts removing

2012-12-02 Thread Dmitry Stogov
Hi Rasmus, I'm glad the patch is not a big problem for APC. BTW: I decided not to commit the patch as is, and implement the similar optimization for CVs first. Otherwise I may need to change the way TMP_VAR accessed twice. I'll probably send the patch for review later today. Thanks. Dmitry. On F

Re: [PHP-DEV] execute_data->Ts removing

2012-11-30 Thread Rasmus Lerdorf
On 11/30/2012 09:15 AM, Dmitry Stogov wrote: > Hi, > > The NEWS and UPGRADING explains the details. > > http://pastebin.com/VC71Y8LV > > The patch is big, but actually quite simple. > I'm going to commit it on Monday or Tuesday (if no objections). > > I'm going to look into the similar optimiza