Greg Hudson wrote: > On Fri, 2010-01-08 at 15:31 -0500, Paul Querna wrote: > >> "Profile everything, be faster at everything" >> > > There are smart people who will disagree with me on this, but I'm not > sure the best tool for improving Subversion performance is a profiler. > Historically a lot of our performance issues have come from algorithmic > inefficiencies, particularly from code in libsvn_repos. You can get > maybe a 10-30% reduction in time on these operations by trying to > optimize the innermost bit of code which gets repeated over and over > again, but in some cases you can get an order of magnitude reduction in > time by fixing the algorithms. > > It's been too long for me to remember any specific examples, > unfortunately. >
You'd be surprised. A long time ago I saw a profiler log that seemed to indicate we were spending 90% of our time in the delta combiner. I refused to believe what I saw and never looked closer. Then DannyB came along and showed how a simple succession of target copy operations could slow the delta combiner tremendously. That was a reality check with a vengeance. In my experience the trick is in reading profiler output correctly, and actually analysing more than the last three levels of the call graph before trying to optimize anything. -- Brane