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
Received on 2010-01-08 23:19:59 CET