Since the size of the non-pre-allocated hash space
doubles (aproximately)
every time it has to expand, the number of reallocations
is relatively small compared to the number of
hash inserts you are doing and has a negligable effect on
your hash performance. The aproximately 10 to 12 reallocations
that the hash had to go through to accomodate 10,000 elements
is a small chunk of time compared with the 10,000 hash inserts.
As shown in your benchmarks,
the pre-allocated hash is faster over the
data set, but only slightly so.