Larry Garfield wrote:
I would also note that "include up front and have a good autoload scheme"
works great if you are writing all classes.  If you're trying to use
namespaces and functions, there is no autoload.  That makes the autoload
argument moot, and pre-loading everything up front can get ridiculously
expensive in large systems, and even then you don't always know what to load
up front.  (Think anything that accepts plugins.)  So an answer of "well if
it throws a warning when you do that, don't do that" is simply not realistic
in practice.

With an opcode cache, it is actually often more efficient to load everything up front even if you aren't using it all on any given request. By using autoload or other conditional mechanisms you lose the function and class caching mechanism provided by the opcode cache because you have now pushed the creation of these to the executor instead of letting the opcode cache cache them for you.

And assuming your include_path setting and your include hierachy is clean so you don't have any or at least only minimal per-include stat overhead, whether you include 1 or 20 files on a request isn't a big deal since they are all going to be in memory anyway.

-Rasmus

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to