In message <[EMAIL PROTECTED]> on Tue, 22 May 2007 23:12:45 +0200, "Benoît 
Dejean" <[EMAIL PROTECTED]> said:

benoit> I have a repository of 2000 files over NFS. update and status
benoit> are very slow. I have strace/truss it and found a lot of stat
benoit> calls. I think this just kill performance on a network
benoit> filesystem. When doing a status, each file is stat'ed 4 times
benoit> in a row. The following patch saves 2 calls. The 1 remaining
benoit> is triggered by an assert_path_is_file in calculate_ident. I
benoit> don't know if it's good, but on my workspace, it saves a lot
benoit> of stat calls. It goes from ~8000 to ~4000. This almost saves
benoit> 15% of the time to do a status. On a local filesystem, this
benoit> makes no difference at all. (If it worths it, please let me
benoit> push :)

I just looked at the patch, and although I can see that it fixes
things for status, I think it could be taken one step further (and
thereby generalising the solution) by modifying the file_path class to
have a status cache.

Cheers,
Richard

--
Richard Levitte                         [EMAIL PROTECTED]
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis


_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to