Recent versions of PHP have a cache of filenames for knowing the real path of files, and require_once()
and include_once()
can take advantage of it.
There's a value you can set in your php.ini to set the size of the cache, but I have no idea how to tell what the size should be. The default value is 16k, but I see no way of telling how much of that cache we're using. The docs are vague:
Yes, I can jack up the amount of cache allowed, and run tests with ab
or some other testing, but I'd like something with a little more introspection than just timing from a distance.
You've probably already found this, but for those who come across this question, you can use realpath_cache_size() and realpath_cache_get() to figure out how much of the realpath cache is being used on your site and tune the settings accordingly.