Posted on Leave a comment

AirConcurrentMap Iterator is 3 to 5 times faster than Java Maps

AirConcurrentMap iterates faster than the standard Java Maps. In the graph below, AirConcurrentMap’s Iteration is faster at all speeds but near zero. Beyond this size and up to full memory, AirConcurrentMap maintains the lead. If even more speed is desired, the client code can implement  MapVisitors and ThreadedMapVisitors.
graph6
Here are the results for larger AirConcurrentMaps.
graph7
This chart shows all the combinations possible with Java 8, including the new streams feature in serial or parallel. AirConcurrentMap beats all of the scanners for any concurrent Map above a certain size. The non-concurrent Maps HashMap and TreeMap are not shown but are similar. Look to the right side of the chart to see the big data area as Entry count increases. Here we are scanning the keySet, showing that the AirConcurrentMap keySet iterator in red becomes faster at about log2(15)=32K Entries, and then it has tremendous relative speed. The AirConcurrentMap visitor interface is shown by the brown curve that dominates all of the scanners, starting at only a few Entries. Even the Java 8 streams performance is less than the AirConcurrentMap Iterators and MapVisitor technique for ConcurrentSkipListMap.Iterator And Visitor Speed
For more general information see AirConcurrentMap. AirConcurrentMap also has more capacity: AirConcurrentMap Space Efficiency, and it has faster ordered access: Java Map AirConcurrentMap versus ConcurrentSkipListMap Speed. Also see Fast Java Map Iterators, MapVisitors and ThreadedMapVisitorsFor information contact support@boilerbay.com.
Leave a Reply