On Tue, 1 May 2012, Jeff King wrote: > On Tue, May 01, 2012 at 12:28:06PM -0400, Jeff King wrote: > > > > You could test this theory by commenting out the size comparisons in > > > type_size_sort() and re-run the test. > > > > I'll try this next. > > Wow, it behaves horribly. I didn't even let the bigger tests run to > completion. Here is the output for git.git (the first line is from the > original, unmodified version of git with --window=10): > > orig | 31.4M (100%) | 54s (100%) > 10 | 44.0M (140%) | 169s (310%) > 20 | 37.7M (120%) | 232s (428%) > 40 | 33.6M (107%) | 331s (608%) > 80 | 30.9M ( 99%) | 473s (868%) > 160 | 29.4M ( 94%) | 696s (1279%) > > Unless the window is increased a lot, the packs end up quite a bit > larger (and even still we spend a lot more CPU time). Bleh. Allright. One final quick test if you feel like it: I've never been sure that the last comparison in type_size_sort() is correct. Maybe it should be the other way around. Currently it reads: return a < b ? -1 : (a > b); While keeping the size comparison commented out, you could try to replace this line with: return b < a ? -1 : (b > a); If this doesn't improve things then it would be clear that this avenue should be abandoned. Nicolas -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html