Hi,

Here I have attached the JMH benchmark.You can access source code using
following link and please note that this is written for my evaluation
purpose of two data structures only.

https://github.com/malakaganga/jmh-gc-csl

Thanks!

On Tue, Jan 26, 2016 at 2:23 PM, Isuru Perera <[email protected]> wrote:

> Hi Malaka,
>
> Great work! Could you please share the JMH benchmark?
>
> Thanks!
>
> On Tue, Jan 26, 2016 at 10:05 AM, Ramith Jayasinghe <[email protected]>
> wrote:
>
>> Hi Malaka,
>>  lets report these findings on architecture group as a investigation we
>> did.
>> regards
>> Ramtih
>>
>> On Tue, Jan 26, 2016 at 8:16 AM, Malaka Gangananda <[email protected]>
>> wrote:
>>
>>> Hi,
>>>
>>> While profiling the MB we found out that there is a performance bottle
>>> neck in using util.ConcurrentSkipListMap. Because every time size call is
>>> made it has to loop through the data structure so it takes O(n) time. But
>>> looking at GC ConcurrentHashMap we found out that it only takes constant
>>> time (O(1) time) to make the size call.Other operations on GC
>>> ConcurrentHashMap are also faster than uti.ConcurrentSkipListMap.
>>>
>>> Here I have attached JMH Benchmark results which acquired by testing
>>> util.ConcurrentSkipListMap vs GC ConcurrentHashMap
>>>
>>> ​​​
>>>  ConcurrentSkipListMap Vs Goldmansachs Concurre...
>>> <https://docs.google.com/a/wso2.com/spreadsheets/d/1y5w1aIDBN89C0ctB83iDOULtYPnB_-3OuGYArd0lbt0/edit?usp=drive_web>
>>> ​
>>>
>>> Malaka Gangananda
>>> Software Engineer Intern
>>> mobile:0713564340
>>> [email protected]
>>> <[email protected]>
>>>
>>
>>
>>
>> --
>> Ramith Jayasinghe
>> Technical Lead
>> WSO2 Inc., http://wso2.com
>> lean.enterprise.middleware
>>
>> E: [email protected]
>> P: +94 777542851
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Isuru Perera
> Associate Technical Lead | WSO2, Inc. | http://wso2.com/
> Lean . Enterprise . Middleware
>
> about.me/chrishantha
> Contact: +IsuruPereraWSO2 <https://www.google.com/+IsuruPereraWSO2/about>
>



-- 
Malaka Gangananda
Software Engineer Intern
mobile:0713564340
[email protected]
<[email protected]>
Benchmark                                                (element)  (size)  
Mode  Cnt       Score       Error  Units
GSVsConSkipListMap.sizeCallConSkipList                         N/A     100  
avgt   20     877.625 ±    25.773  ns/op
GSVsConSkipListMap.sizeCallConSkipList:·stack                  N/A     100  
avgt              NaN                ---
GSVsConSkipListMap.sizeCallConSkipList                         N/A    1000  
avgt   20   12996.301 ±   551.250  ns/op
GSVsConSkipListMap.sizeCallConSkipList:·stack                  N/A    1000  
avgt              NaN                ---
GSVsConSkipListMap.sizeCallConSkipList                         N/A   10000  
avgt   20  158088.796 ± 13281.221  ns/op
GSVsConSkipListMap.sizeCallConSkipList:·stack                  N/A   10000  
avgt              NaN                ---
GSVsConSkipListMap.sizeCallConSkipList                         N/A   15000  
avgt   20  321088.363 ± 83457.575  ns/op
GSVsConSkipListMap.sizeCallConSkipList:·stack                  N/A   15000  
avgt              NaN                ---
GSVsConSkipListMap.sizeCallGCHashMap                           N/A     100  
avgt   20      30.233 ±     9.497  ns/op
GSVsConSkipListMap.sizeCallGCHashMap:·stack                    N/A     100  
avgt              NaN                ---
GSVsConSkipListMap.sizeCallGCHashMap                           N/A    1000  
avgt   20      30.862 ±     8.930  ns/op
GSVsConSkipListMap.sizeCallGCHashMap:·stack                    N/A    1000  
avgt              NaN                ---
GSVsConSkipListMap.sizeCallGCHashMap                           N/A   10000  
avgt   20      78.022 ±    21.543  ns/op
GSVsConSkipListMap.sizeCallGCHashMap:·stack                    N/A   10000  
avgt              NaN                ---
GSVsConSkipListMap.sizeCallGCHashMap                           N/A   15000  
avgt   20      91.657 ±    34.659  ns/op
GSVsConSkipListMap.sizeCallGCHashMap:·stack                    N/A   15000  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.getCallConSkipList             20000     N/A  
avgt   20     891.813 ±   302.100  ns/op
GSVsConSkipListMapPutOpNGetOp.getCallConSkipList:·stack      20000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.getCallConSkipList             50000     N/A  
avgt   20     737.880 ±   250.744  ns/op
GSVsConSkipListMapPutOpNGetOp.getCallConSkipList:·stack      50000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.getCallConSkipList             90000     N/A  
avgt   20     685.134 ±   223.527  ns/op
GSVsConSkipListMapPutOpNGetOp.getCallConSkipList:·stack      90000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.getCallGSHashMap               20000     N/A  
avgt   20     379.857 ±     8.894  ns/op
GSVsConSkipListMapPutOpNGetOp.getCallGSHashMap:·stack        20000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.getCallGSHashMap               50000     N/A  
avgt   20     401.518 ±     8.001  ns/op
GSVsConSkipListMapPutOpNGetOp.getCallGSHashMap:·stack        50000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.getCallGSHashMap               90000     N/A  
avgt   20     379.263 ±     7.934  ns/op
GSVsConSkipListMapPutOpNGetOp.getCallGSHashMap:·stack        90000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.putCallConSkipList             20000     N/A  
avgt   20    2497.419 ±   633.506  ns/op
GSVsConSkipListMapPutOpNGetOp.putCallConSkipList:·stack      20000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.putCallConSkipList             50000     N/A  
avgt   20    4222.999 ±    93.101  ns/op
GSVsConSkipListMapPutOpNGetOp.putCallConSkipList:·stack      50000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.putCallConSkipList             90000     N/A  
avgt   20    4343.781 ±    87.996  ns/op
GSVsConSkipListMapPutOpNGetOp.putCallConSkipList:·stack      90000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.putCallGSHashMap               20000     N/A  
avgt   20    5803.204 ±  1204.316  ns/op
GSVsConSkipListMapPutOpNGetOp.putCallGSHashMap:·stack        20000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.putCallGSHashMap               50000     N/A  
avgt   20    3980.010 ±   283.547  ns/op
GSVsConSkipListMapPutOpNGetOp.putCallGSHashMap:·stack        50000     N/A  
avgt              NaN                ---
GSVsConSkipListMapPutOpNGetOp.putCallGSHashMap               90000     N/A  
avgt   20    4016.611 ±   303.757  ns/op
GSVsConSkipListMapPutOpNGetOp.putCallGSHashMap:·stack        90000     N/A  
avgt              NaN                ---
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to