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 and

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

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

Re: [PHP-DEV] execute_data-Ts removing

2012-12-03 Thread jpauli
On Mon, Dec 3, 2012 at 2:26 PM, Dmitry Stogov dmi...@zend.com 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

Re: [PHP-DEV] execute_data-Ts removing

2012-12-03 Thread Nikita Popov
On Mon, Dec 3, 2012 at 10:35 AM, Dmitry Stogov dmi...@zend.com 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

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 nikita@gmail.com wrote: On Mon, Dec 3, 2012 at 10:35 AM, Dmitry

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

[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.

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 optimization for