Re: Giving Globals the CV treatment [WAS: Runtime JIT Proposals]
| From: | Ilia Alshanetsky | Date: | Thu, 18 Jan 2007 21:59:58 +0000 |
| Subject: | Re: Giving Globals the CV treatment [WAS: Runtime JIT Proposals] | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-27528@lists.php.net to get a copy of this message | ||
The optimizer already does most of those things, so I think things like that are best left there rather then being done in the core.
On 18-Jan-07, at 4:34 PM, Sara Golemon wrote:
Ilia AlshanetskyCould you also run Zend/bench.php to check that patch doesn't slowdown local fetches. I think the patch can be commited into HEAD (not into PHP_5_2), but I would prefer collect all performance patches and commit them into PHP_5_3 and HEAD together.without with simple 0.538 0.550 simplecall 2.046 1.932 simpleucall 2.956 2.885 simpleudcall 3.514 3.484 mandel 1.952 1.969 mandel2 3.398 3.332 ackermann(7) 3.358 3.364 ary(50000) 0.158 0.159 ary2(50000) 0.161 0.137 ary3(2000) 1.081 1.057 fibo(30) 9.587 9.618 hash1(50000) 0.422 0.416 hash2(500) 0.305 0.306 heapsort(20000) 0.779 0.804 matrix(20) 0.525 0.509 nestedloop(12) 0.931 0.927 sieve(30) 0.640 0.638 strcat(200000) 0.286 0.283-------------------------------Total 32.637 32.371A net gain of about 1%. Of course, that number should be taken with a grain of salt in both directions as the test framework measures realtime, and not process time, but the numbers such as they are, *are* still pointing in the right direction...I would be glad to look into another solution, but I cannot even imagine it. PHP language wasn't designed to be fast :(I'd say this can be resolved by an optimizer, but I'm going to try a few attempts and see if anything non-ugly can be come up with... $foo = @$_REQUEST['foo']; *is* a common enough usage that a solution would be worthwhile.Same with this one, let an optimizer figure it out. Once the framework for specifying fetchtype is in place, the main engine compiler can take it's hands off the problem. -Sara --PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.phpSo leaving the silence alone (since it's necessary), and considering the appearant gain for a minor code change, what are your thoughts on tossing this in as is and looking at extending it for $GLOBALS['foo'] -> (global fetch CV)$foo later on?