On Sat, 25 Jan 2003, Andi Gutmans wrote: > At 04:32 PM 1/24/2003 -0800, Rasmus Lerdorf wrote: > > > I can't really think of any way of getting around this. include_once() and > > > require_once() are basic language constructs and they require this. > > > >Well, they require us to be able to uniquely identify a file, they do not > >necessarily require us to know the canonical filename. This could be done > >in a single stat where we grab the device number and inode. > > Yeah but on broken systems single stat's also stat each directory (AFAIK). > I don't think it's any faster or at least not noticably.
Which broken systems? Certainly not on FreeBSD or Linux. A little test: #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> int main(void) { struct stat sb; stat("/home/rasmus/foo/u2.inc",&sb); printf("%d:%d\n",sb.st_dev, sb.st_ino); } That ends up doing just a single stat on FreeBSD: stat("/home/rasmus/foo/u2.inc",0x9fbffa0c) = 0 (0x0) and on Linux: stat64("/home/rasmus/foo/u2.inc", {st_mode=S_IFREG|0644, st_size=12, ...}) = 0 -Rasmus -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php