Skip to content
  • Simon Marlow's avatar
    [project @ 2005-08-12 12:36:59 by simonmar] · 0066307c
    Simon Marlow authored
    Use a better string hash: the previous one only took into account 3
    characters from the string (0, N/2, N), leading to some bad collisions
    with lots of similar strings (eg. local names generated by the
    compiler).  Worse, it had a bug in the N==2 case, which meant that it
    ignored one of the characters in the string completely.
    
    We now traverse the whole string, using the algorithm from Data.Hash
    which seems to work reasonably well.
    
    For good measure, I quadrupled the size of the hash table too, from
    1000 to 4000 entries.
    0066307c