Runtime-JIT, the whole enchilada

From: Date: Wed, 24 Jan 2007 19:58:14 +0000
Subject: Runtime-JIT, the whole enchilada
Groups: php.internals 
Request: Send a blank email to internals+get-27639@lists.php.net to get a copy of this message
Dmitry- You asked for it, you get it :) Hopefully it'll be self-explanatory, the one part I hope you don't notice is that I put the auto_global check back into fetch_simple_variable_ex in order to force direct access to autoglobals ($foo = $_GET; foreach($_POST as ...) etc...) as non-auto-globals. Ultimately this made catching the difference between a whole var access and a dim/obj access much more straight-forward and computationally cheap. It comes at a slight cost for those fetches, but hopefully they're in the minority. Bench numbers with this patch: simple 0.461 simplecall 1.985 simpleucall 2.900 simpleudcall 3.488 mandel 2.136 mandel2 3.192 ackermann(7) 3.490 ary(50000) 0.154 ary2(50000) 0.137 ary3(2000) 1.076 fibo(30) 9.766 hash1(50000) 0.423 hash2(500) 0.307 heapsort(20000) 0.799 matrix(20) 0.526 nestedloop(12) 0.866 sieve(30) 0.630 strcat(200000) 0.303 ------------------------ Total 32.639 -Sara

« previous php.internals (#27639) next »