On Wed, May 12, 2010 at 9:12 PM, Greg Hudson <ghud...@mit.edu> wrote: > On Wed, 2010-05-12 at 13:44 -0400, Hyrum K. Wright wrote: >> There may be other ways of caching this information, which would be great. > > Maybe. Caches add complexity, and too many layers of caching (disk, OS, > application) can actually reduce performance in some scenarios. > > I would suggest getting a better understanding of why this operation is > slow. Why is svn log opening each rev file ten times? Is this > intrinsically necessary? Going straight to optimizing the overused > low-level operations can provide a noticeable performance benefit, but > fixing the inefficient high-level algorithms is how you can turn minutes > into microseconds.
+1 I was actually investigating this for svn log (trying to correlate the low-level operations with the high-level flow, trying to understand the how and why). But being a newbie to the svn code base it wasn't easy to get a grip on it. And then I got interrupted by other priorities ... Maybe I'll pick it up again one day, but if someone else (with more inside knowledge?) wants to take a look as well ... Concerning "some sort of caching": I agree that it adds complexity. I was just hypothesizing that it might be very difficult to change the high level algorithms/flow/... (e.g. because they depend on interaction with the other layers in a certain way, a lot of dependencies, ...). In that case it might just be easier to tackle the problem at a lower level. But I guess we'll need to do the correct analysis first, to find out why, before speculating any further ... Cheers, -- Johan