On Fri, 2014-11-28 at 18:13 +0700, Duy Nguyen wrote: > On Wed, Nov 19, 2014 at 1:12 AM, David Turner <dturner@xxxxxxxxxxxxxxxx> wrote: > >> 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. > > Cityhash looks less appealing to me. For one thing it's C++ so linking > to C can't be done. I could add a few "extern "C"" to make it work. > But if we plan to support it eventually, cityhash must support C out > of the box. > > Then cityhash does not support case-insensitive hashing. I had to make > a CityHash32i version based on CityHash32. It's probably my bugs > there, but performance is worse (~120ms) than original hashmap.c > (90ms). Enabling sse4.2 helps a bit, but still worse. Using the > case-sensitive version in place for memihash and strihash does make > cityhash win over hashmap.c, around 50ms (with or without sse4.2). But > that's still not as good as your version (~35ms).. Can you post your CityHash32i? Have you tried this C port of Cityhash? https://github.com/santeri-io/cityhash-c -- 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