danielsun1106 edited a comment on pull request #1306:
URL: https://github.com/apache/groovy/pull/1306#issuecomment-665997982


   @blackdrag As to your worries about performance, I created benchmark project 
to test the performance of concurrent maps ( 
https://github.com/danielsun1106/benchmark-concurrentmaps )
   
   Here is the result generated on my local machine:
   ```
   Benchmark                                                 Mode  Cnt    Score 
   Error   Units
   ConcurrentMapBench.testConcurrentIdentityHashMap_get     thrpt   15  176.293 
± 14.399  ops/ms
   ConcurrentMapBench.testConcurrentIdentityHashMap_put     thrpt   15   11.263 
±  8.088  ops/ms
   ConcurrentMapBench.testConcurrentReferenceHashMap_get    thrpt   15  197.955 
± 12.753  ops/ms
   ConcurrentMapBench.testConcurrentReferenceHashMap_put    thrpt   15  194.053 
±  4.108  ops/ms
   ConcurrentMapBench.testManagedConcurrentMap_get          thrpt   15  154.559 
±  5.860  ops/ms
   ConcurrentMapBench.testManagedConcurrentMap_put          thrpt   15   10.226 
±  9.142  ops/ms
   ConcurrentMapBench.testManagedIdentityConcurrentMap_get  thrpt   15  140.041 
±  2.827  ops/ms
   ConcurrentMapBench.testManagedIdentityConcurrentMap_put  thrpt   15    6.897 
±  5.559  ops/ms
   ```
   
   According to the performance test report, `ManagedIdentityConcurrentMap` is 
as efficient as `ManagedConcurrentMap` when executing `get` method, but less 
efficient when executing `put` method.
   
   Also, `ConcurrentReferenceHashMap` based on `ConcurrentMap` is more 
efficient than other alternatives, so I am going to polish 
`ManagedIdentityConcurrentMap` and make it base on `ConcurrentReferenceHashMap` 
written by Doug Lea.
   
   P.S. `ManagedIdentityConcurrentMap` and `ManagedConcurrentMap` are from 
Groovy 4.0 (master branch), and `ConcurrentIdentityHashMap` is written by Doug 
Lea too.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to