I have made a few optimizations and fixes. The test no longer fails for 100,000 puts() - it now takes ~0.65s. However, java.util.HashMap does it in ~0.2s, so there is still room for improvement. I think the current bottleneck may be in the put() method itself, which is called to perform each individual put() as well as to re-put() the current contents of the map when we re-hash.

It is probably related to how we are hashing internally - java.util.HashMap's hashing scheme is undoubtedly more highly optimized. I'll keep digging.




Reply via email to