Re: [RFC] On watchman support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)..
-- 
Duy
--
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]