package railo.commons.util.mod;

public class MapFactory {
	public static  MapPro getConcurrentMap(){
		return new HashMapPro();
		//return new ConcurrentHashMapPro();
	}
}

@@ -26,16 +26,37 @@
 l.mod;%0A%0A
+import railo.print;%0A%0A
 public c
@@ -118,16 +118,18 @@
 ap()%7B%0A%09%09
+//
 return n
@@ -147,18 +147,16 @@
 ro();%0A%09%09
-//
 return n
@@ -180,15 +180,773 @@
 MapPro()
+;%0A%09%7D%0A%09%0A%09public static void main(String%5B%5D args) %7B%0A%09%09test(new HashMapPro());%0A%09%09test(new ConcurrentHashMapPro());%0A%09%09test(new SyncMap());%0A%09%09print.e(%22++++%22);%0A%09%09test(new HashMapPro());%0A%09%09test(new ConcurrentHashMapPro());%0A%09%09test(new SyncMap());%0A%09%09print.e(%22++++%22);%0A%09%09test(new HashMapPro());%0A%09%09test(new ConcurrentHashMapPro());%0A%09%09test(new SyncMap());%0A%09%09print.e(%22++++%22);%0A%09%09test(new HashMapPro());%0A%09%09test(new ConcurrentHashMapPro());%0A%09%09test(new SyncMap());%0A%09%7D%0A%0A%09private static void test(MapPro map) %7B%0A%09%09long start =micro();%0A%09%09for(int i=0;i%3C10000000;i++)%7B%0A%09%09%09map.put(%22x%22, %22X%22);%0A%09%09%09map.get(%22x%22);%0A%09%09%09map.get(%22z%22);%0A%09%09%09map.containsKey(%22a%22);%0A%09%09%7D%0A%09%09print.e((micro()-start)+%22 -%3E %22+map.getClass().getName());%0A%09%09%0A%09%7D%0A%0A%09private static long micro() %7B%0A%09%09return System.nanoTime()/1000
 ;%0A%09%7D%0A%7D%0A

enable concurrent map