
19 Jul
2010
19 Jul
'10
10:26 p.m.
On 15 July 2010 06:12, Jim Apple
In other some standard libraries (Java, OCaml), hash tables can be created with a user-supplied size. This avoids some resizing for users who know they will be inserting a lot of data.
Data.HashTable does not expose a function to do this. This proposal changes that.
For a dictionary of 5 million strings, this patch saves me about 33% of the total execution time. For 10 million strings, this patch saves me 50% of the total execution time.
+1 Your round-up-to-next-power-of-2 code looks a bit weird and complicated. Why not use the standard bit-twiddling tricks? (It's not like it's polymorphic in Num.) http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2