On 05/01/2017 02:24 AM, Andrei Chis wrote:
performance, by orders of magnitude. For instance, early versions of
Java used a limited number of characters to hash strings. One of the
biggest compatibility-breaking changes they were forced to make in later
Java versions was to consider *all* characters in hashing. It turned out
that it was very common to hash URLs, and many distinct URLs had most of
their characters in common.

Was curious about this and found the actual issues [1] if anybody else is interested.

[1] http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4045622

Thanks for digging this up, Andrei! I was working from memory, and had forgotten some of the details. Yeah, they had to change the language spec, which was a Big Deal at the time. (and Josh Bloch and Guy Steele, no less!)