On Aug 30, 2007, at 12:53 , Tobias Lütke wrote:

I think standards are best when there is only one of them. Lets not
add choices to the mix. We should find out what is the "less bad" of
the two options or eliminate one at random with all things being
equal. I'm certain that 99% of the memcached user base is not partial
to either crc or fnv and the implementors probably appreciate crc
because of the general availability of the algorithm ( there is a very
fast implementation in zlib which is bundled and exposed in almost
every scripting language ).

My last job was in telecom, so I think ``standard'' is an antonym for ``innovation.''

Choice can be confusing, but performance is often more valuable than interoperability here. If you're in a java-only shop, java's native hash is going to be faster than anything else. Strings are immutable and the hash is memoized. If you have to interoperate, you can start making choices.

It's way too early to be talking about standardization, anyway. There haven't been enough studies on the performance and appropriateness of different hash algorithms. When people are interested in things, the last thing you want to do is standardize them. They'll become standardized on their own once people are no longer interested.

--
Dustin Sallings


Reply via email to