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

[PHP-DEV] execute_data->Ts removing

2012-11-30 Thread Dmitry Stogov
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 optimization for CVs, but it's going to be a bit more difficult. Thanks.