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.
--
Les Mikesell
lesmikes...@gmail.com