On Sun, Oct 2, 2011 at 11:08 PM, Kyle Leber <kyle.leber@gmail.com> wrote:
> I was able to capture a profile from svn (after remembering I have to link
> statically). I compiled with "-pg -O0" Here is the top of the file:
>
> Each sample counts as 0.01 seconds.
> % cumulative self self total
> time seconds seconds calls s/call s/call name
> 88.88 133.49 133.49 2002891836 0.00 0.00 svn_diff__snake
> 5.97 142.45 8.96 56 0.16 2.54 svn_diff(long,
char,
> short)
> 1.98 145.42 2.97 4163001 0.00 0.00 MD5Transform
> 0.41 146.04 0.62 4163001 0.00 0.00 Decode
What's it doing in svn_diff__snake (or svn_diff for that matter)? That
should only be hit when svn is doing textual merges (in which case it
must do rather expensive diff calculations --- I'm sure those
calculations can go ballistic when being confronted with a large
binary file, not consisting of text lines).
Are you sure those files were actually marked as binary (svn:mime-type
of application/octet-stream or something else non-texty)?
--
Johan
|