On May 25, 2010, at 9:59 AM, Les Mikesell wrote:

> On 5/25/2010 11:44 AM, David Brodbeck wrote:
>> 
>> On May 24, 2010, at 2:05 PM, Les Mikesell wrote:
>> 
>>> On 5/24/2010 3:51 PM, David Brodbeck wrote:
>>>> 
>>>> On May 21, 2010, at 8:23 AM, Hyrum K. Wright wrote:
>>>>> Actually, Subversion is a bit more intelligent about it, attempting to 
>>>>> use modification times and sizes, before doing a byte-by-byte comparison.
>>>> 
>>>> Even that can be slow if there are lots of files involved.  Note that some 
>>>> filesystems have particularly bad performance if there are lots of files 
>>>> in a single directory, as well.  This is especially true of NFS.  In one 
>>>> extreme example, I've seen a simple "ls" take tens of minutes to produce 
>>>> any output in an NFS-mounted directory with ~1,000,000 files.
>>> 
>>> But to be fair, note that ls sorts its output, so it can't output anything 
>>> until it has read everything.
>> 
>> True, but other operations were slow, too.  The way readdir() works means 
>> that a lot of file operations inevitably involve a linear search of the 
>> directory.
> 
> And worse, creating a new file involves doing that search first to see if it 
> is new, then finding a free slot or growing the directory and adding it all 
> as an atomic operation, blocking any other process trying to do the same. 
> But, that's why subdirectories were invented - you don't have to put 
> everything on one big inefficient space.

Yup.  Now I just need to convince my users of that. ;)

-- 

David Brodbeck
System Administrator, Linguistics
University of Washington




Reply via email to