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