https://github.com/Netflix/atlas
Revision 7e015e8b90375f2e623fd9ad059319dc017be414 authored by brharrington on 09 July 2016, 19:38:44 UTC, committed by GitHub on 09 July 2016, 19:38:44 UTC
Changes the primitive maps to resize at 50% full
rather than 70%. The 70% factor was originally
chosen to keep the memory use lower and for the
primary use-cases we didn't see much performance
degradation at the time. Rolling it out to more
systems though we have started seeing cases where
it performs quite badly and 50% does an order of
magnitude better.

JMH test with a simple example included.

```
0.7

[info] Benchmark                        Mode  Cnt      Score     Error  Units
[info] IntIntMap.testIntIntHashMap800  thrpt   10  10374.640 ± 782.568  ops/s
[info] IntIntMap.testIntIntHashMap8k   thrpt   10    589.537 ±   8.124  ops/s
[info] IntIntMap.testJavaHashMap800    thrpt   10   4051.768 ± 499.362  ops/s
[info] IntIntMap.testJavaHashMap8k     thrpt   10   2846.103 ±  14.858  ops/s

0.5

[info] Benchmark                        Mode  Cnt      Score     Error  Units
[info] IntIntMap.testIntIntHashMap800  thrpt   10  11713.871 ± 271.158  ops/s
[info] IntIntMap.testIntIntHashMap8k   thrpt   10   3963.805 ±  59.359  ops/s
[info] IntIntMap.testJavaHashMap800    thrpt   10   4371.380 ±  93.346  ops/s
[info] IntIntMap.testJavaHashMap8k     thrpt   10   2709.591 ±  71.376  ops/s
```
1 parent 0c0fb6c
History
Tip revision: 7e015e8b90375f2e623fd9ad059319dc017be414 authored by brharrington on 09 July 2016, 19:38:44 UTC
adjust load factor for primitive maps (#390)
Tip revision: 7e015e8

README.md

back to top