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

Reply via email to