"Ashwin Hirschi"<lua-l@reflexis.com> writes:
Scripting languages like Python, Ruby, Javascript and Perl are dealing
(or have already dealt) with this hash collision issue by making the
necessary changes to their hash implementations.
Shrug. They are different languages, with different user communities
and applications. Obviously languages like Ruby _do_ seem to be
overwhelmingly used in "across the internet" applications, so maybe
such a default makes sense for it. But Lua is not Ruby.
I believe Lua needs to do the same. If it does not, it risks being
deemed not suitable for writing software for the web. I don't know
about you, but I for one would not like to see that happen.
An "all characters" hash is not free, especially for _very_ long
strings (I regularly handle 500MB strings), and the benefit of such a
change needs to be weighed against the costs, weighted by the
likelihood of each case.