On Sun, Oct 2, 2011 at 11:08 PM, Kyle Leber <kyle.le...@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