On Tue, 2014-11-18 at 17:48 +0700, Duy Nguyen wrote: > > My patches are not the world's most beautiful, but they do work. I > > think some improvement might be possible by keeping info about tracked > > files in the index, and only storing the tree of ignored and untracked > > files separately. But I have not thought this through fully. In any > > case, making use of shared memory for the fs_cache (as some of your > > other patches do for the index) would definitely save time. > > By the way, what happened to your sse optimization in refs.c? I see > it's reverted but I didn't follow closely to know why. I don't know why either -- it works just fine. There was a bug, but I fixed it. Junio? > Or will you go > with cityhash now.. I ask because you have another sse optimization > for hashmap on your watchman branch and that could reduce init time > for name-hash. Name-hash is used often on case-insensitive fs (less > often on case-sensitive fs). Cityhash would be better, because it has actual engineering effort put into it; what I did on my branch is a hack that happens to work decently. As the comment notes, I did not spend much effort on tuning my implementation. Also, Cityhash doesn't require SSE, so it's more portable. > I did a simple test and your optimization could init name-hash (on > webkit) in 35ms, while unmodified hashmap took 88ms. Loading index on > this machine took 360ms for reference (probably down too 100ms with > index-helper running, when that 88ms starts to become significant). OK, that sounds like a big win. -- 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