Guava ImmutableMap has noticeably slower access than HashMap

前端 未结 2 1652
渐次进展
渐次进展 2021-02-02 07:28

While working on a memory benchmark of some high-throughput data structures, I realized I could use an ImmutableMap with only a little refactoring.

Thinki

2条回答
  •  迷失自我
    2021-02-02 07:44

    Some possible reasons:

    1. Could that depend on your implementation of RndString.build()?

    2. And have a look at the get() implementation of both maps: com.google.common.collect.RegularImmutableMap.get(Object) java.util.HashMap.getEntry(Object) java.util.HashMap tries to compare with "==" first. RegularImmutableMap doesn't. That may speed up

    3. Could a different load factor be responsible for that? Perhaps the RegularImmutableMap needs more iterations to find the correct entry.

提交回复
热议问题