On Tue, May 01, 2012 at 01:59:08PM -0400, Nicolas Pitre wrote: > 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); I think it is right. At least it should put recent things near the front of the array, just as we are putting bigger things there. > > 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%) > [...] > While keeping the size comparison commented out, you could try to > replace this line with: > > return b < a ? -1 : (b > a); No, it's not better. A few of the pack sizes are better, but some of them are worse. And the CPU times are still quite bad. Here are the numbers: orig | 31.4M (100%) | 54s (100%) 10 | 45.6M (145%) | 158s (292%) 20 | 39.2M (125%) | 205s (377%) 40 | 35.1M (112%) | 275s (505%) 80 | 32.4M (103%) | 388s (713%) 160 | 30.6M ( 98%) | 581s (1067%) -Peff -- 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