On Sun, 2003-03-02 at 14:22, Shane Caraveo wrote: > So I'm not clear on how I am should expect this to work. A simple script: > > error_reporting(2047); > print_r($_ENV); > > is now completely broken unless you turn on register_long_arrays. If > that is expected behaviour, register_long_arrays must be on by default. >
Of course its not the expected behavior. The functionality isn't fully integrated/mature yet. :) -Sterling > Shane > > > Zeev Suraski wrote: > > I wanted to do this for some time, but until recently, it wasn't very > > feasible, because the order of registration could be designated by the > > user (gpc_order, variables_order, etc.). Now that register_globals is > > off by default, and that we have the auto-globals, it's much more feasible. > > > > I implemented this optimization in CVS, so far only for $_ENV and > > $_SERVER. This alone pushed nearly-empty-page req/sec pages from about > > 285 to about 400 on my Windows box. I'll look into fixing the other > > ones later. > > > > Pre-requisites for this optimization to kick in: > > 1. register_globals being off > > 2. register_long_arrays (HTTP_*_VARS) being off > > > > If you want to benchmark w/ vs. w/o, you can disable the optimization by > > initializing cb to 0 in php_startup_auto_globals() and > > jit_initialization to 0 in php_hash_environment(), both in > > main/php_variables.c. > > > > Zeev > > > > At 18:26 01/03/2003, Sterling Hughes wrote: > > > >> Hi, > >> > >> Analyzing PHP's routines a bit, it seems that the slowest part of a > >> "generic" request is populating the special arrays, $_ENV, $_GET, etc. > >> > >> I was wondering if it might be possible to "tie" these arrays to a > >> function (if you don't understand that, look at Perl for a definition). > >> One could populate them as an overloaded object, and then array accesses > >> would work - I guess. But I would prefer a cleaner mechanism. > >> > >> This would prevent a costly overhead for elements that don't really need > >> to be there, and yield only a slight performance cost when accessing > >> overloaded elements in these arrays. > >> > >> -Sterling > >> > >> -- > >> "The computer programmer is a creator of universes for which he > >> alone is responsible. Universes of virtually unlimited complexity > >> can be created in the form of computer programs." > >> - Joseph Weizenbaum > >> > >> > >> -- > >> PHP Development Mailing List <http://www.php.net/> > >> To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > -- "Nothing is particularly hard if you divide it into small jobs." - Henry Ford -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php