I've never really given this much thought, but curious what exactly goes on when I do a php include (or require).
I always assumed that when a php page is loaded, instead of actually including the file (and hitting disk) it checks a memory cache for the PHP compiled code (ie APC).
But then I was thinking, how does PHP know when the file has changed (and thus recompiled)? Doesn't it need to check the disk on load? Is this why (according to APC, disk hits, and requires/includes) including relative file names are worse than absolute because it has to check it's current directory for the absolute path (in case there are two files with the same name?) If so, that sounds like on some very big frameworks there would be a lot of disk hits checking to see if files have changed.
Or does this mean that if APC is turned on does this you have to clear the cache manually when you start it?