[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: the correct way to read a big directory? Mutt?



On 2015-04-24 21:41:41 -0500, David Wright wrote:
> Quoting Vincent Lefevre (vincent@vinc17.net):
> > This is now done in my script, but I had to use the ReadDir module
> > from CPAN, since both readdir implementations in Perl (the standard
> > readdir Perl function and POSIX::readdir) just return the file name.
> > And this ReadDir module isn't available in a Debian package.
> 
> Python's library function listdir suffers the same way. If you want
> the inode, you have to call stat to get it. (I haven't looked for
> external modules like ReadDir as I don't have very large directories.)

I haven't tried, but I don't think that a stat call would solve the
problem: most stat information isn't in the directory entries, thus
it will have to be loaded from disk in some arbitrary order, just
like if the first block of a file were read (which is precisely what
I want to avoid at this moment).

And even in the case where all the data are in the cache, an
additional stat call could be inefficient on very large directories.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


Reply to: