title: Java 8 Concurrent Hash Map get Performance/Alternative
body: <p>I have a high throughput low latency application (3000 Request/Sec, 100ms per request), and we heavily use Java 8 <code>ConcurrentHashMap</code> for performing lookups. Usually these maps are updated by a single background thread and multiple threads read from these maps.</p>
  
  <p>I am seeing a performance bottleneck, and on profiling I find <code>ConcurrentHashMap.get</code> as being the hotspot and taking majority of the time.</p>
  
  <p>I another case, I see <code>ConcurrentHashMap.computeIfAbsent</code> being the hotspot, although the mapping-function has very small latency and the profile shows <code>computeIfAbsent</code> spending 90% of the time executing itself, and very less time in executing the mapping-function.</p>
  
  <p>My question is there any way i could improve the performance? I have around 80 threads concurrently reading from CHM.</p>