On 2/7/11 10:37 AM, Sven Paulus wrote:
It would be great if there was a (optional?) way to use the universal
class loader without calling file_exists() at all:
If you are running in a high volume environment, you are likely using
APC with apc.stat = 0 (see
http://www.php.net/manual/en/apc.configuration.php#ini.apc.stat) so that
once all the classes are cached in memory, the file system layer doesn't
need to get involved any more (no stat(2) calls needed at all).
However if the universal class loader uses file_exists() every time
before doing a require() the main purpose of this optimization is gone,
because there still will be a stat(2) system call every time a class is
accessed for the first time within a request.
Having an option to disable file_exists() and use an unambiguous mapping
from class name to file name would take a lot of pressure from the IO
layer (which is e.g. especially important if you're running the web farm
from a NFSv3 based filer which doesn't allow client side caching).
We really have 3 autoloading strategies in Symfony2 (used in this order):
* The bootstrap.php/classes.php file where the major PHP files are
"compiled" into one big file (no autoloading necessary for these files)
* The class map class loader (a map as we had in symfony1 where
you/extensions can add as many classes as you want)
* The universal class loader
Fabien
Regards,
Sven
--
If you want to report a vulnerability issue on symfony, please send it
to security at symfony-project.com
You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en
--
If you want to report a vulnerability issue on symfony, please send it to
security at symfony-project.com
You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en