D:\workspace\javolution-3.7>java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) D:\workspace\javolution-3.7>java -Xms512M -Xmx512M -jar javolution.jar perf Javolution - Java(TM) Solution for Real-Time and Embedded Systems Version 3.7.6 (J2SE 1.5+) March 20 2006 (http://javolution.org) Benchmark... ////////////////////////////// // Package: javolution.lang // ////////////////////////////// -- String/StringBuffer versus Text -- "Concatenates this line 1000 times (resulting in a text of about 80,000 characters)" String "+" operator: 321.8 ms StringBuffer "append" : 540.9 us Text "concat" (heap): 894.0 us Text "concat" (stack): 882.0 us Inserts one character at random locations 1,000 times to the 80,000 characters text. StringBuffer insert: 52.05 ms Text insert (heap): 4.639 ms Text insert (stack): 3.079 ms Delete 1,000 times one character at random location from the 80,000 characters text. StringBuffer delete: 47.96 ms Text delete (heap): 3.177 ms Text delete (stack): 2.077 ms ////////////////////////////////// // Package: javolution.realtime // ////////////////////////////////// -- Heap versus Stack Allocation (Pool-Context) -- Small standard object heap creation: 31.21 ns Small real-time object stack creation: 43.85 ns char[128] heap creation: 157.5 ns char[128] stack creation: 146.3 ns char[256] heap creation: 325.6 ns char[256] stack creation: 137.3 ns ////////////////////////////// // Package: javolution.util // ////////////////////////////// (new) : The collection is created (using the new keyword), populated, then discarded (throw-away collections). (recycled) : The collection is cleared, populated, then reused (static collections or throw-away collections in PoolContext). -- FastTable versus ArrayList -- class javolution.util.FastTable Size: 10, add (new): 49.38 ns, add (recycled): 49.35 ns, iteration (iterator): 33.96 ns, get(int): 11.67 ns Size: 100, add (new): 26.67 ns, add (recycled): 38.02 ns, iteration (iterator): 23.47 ns, get(int): 6.036 ns Size: 1000, add (new): 24.84 ns, add (recycled): 18.87 ns, iteration (iterator): 16.50 ns, get(int): 5.941 ns Size: 10000, add (new): 26.43 ns, add (recycled): 20.72 ns, iteration (iterator): 20.48 ns, get(int): 10.12 ns class java.util.ArrayList Size: 10, add (new): 18.77 ns, add (recycled): 23.11 ns, iteration (iterator): 33.54 ns, get(int): 8.826 ns Size: 100, add (new): 27.89 ns, add (recycled): 20.32 ns, iteration (iterator): 29.65 ns, get(int): 8.074 ns Size: 1000, add (new): 22.76 ns, add (recycled): 19.98 ns, iteration (iterator): 29.35 ns, get(int): 8.008 ns Size: 10000, add (new): 23.91 ns, add (recycled): 19.87 ns, iteration (iterator): 29.28 ns, get(int): 8.079 ns -- FastList versus LinkedList -- class javolution.util.FastList Size: 10, add (new): 39.24 ns, add (recycled): 18.60 ns, iteration (iterator): 22.83 ns, iteration (node): 3.853 ns Size: 100, add (new): 30.50 ns, add (recycled): 14.68 ns, iteration (iterator): 14.01 ns, iteration (node): 2.250 ns Size: 1000, add (new): 32.75 ns, add (recycled): 20.00 ns, iteration (iterator): 14.19 ns, iteration (node): 5.116 ns Size: 10000, add (new): 33.73 ns, add (recycled): 25.21 ns, iteration (iterator): 14.14 ns, iteration (node): 5.113 ns class java.util.LinkedList Size: 10, add (new): 33.15 ns, add (recycled): 55.33 ns, iteration (iterator): 20.35 ns Size: 100, add (new): 31.46 ns, add (recycled): 52.67 ns, iteration (iterator): 15.87 ns Size: 1000, add (new): 34.76 ns, add (recycled): 41.98 ns, iteration (iterator): 16.43 ns Size: 10000, add (new): 41.66 ns, add (recycled): 57.62 ns, iteration (iterator): 16.33 ns -- FastMap versus HashMap -- class javolution.util.FastMap Size: 10, put (new): 121.9 ns, put (recycled): 83.39 ns, get: 26.86 ns, iteration (iterator): 35.00 ns, iteration (entry): 3.858 ns Size: 100, put (new): 143.1 ns, put (recycled): 78.45 ns, get: 26.92 ns, iteration (iterator): 25.20 ns, iteration (entry): 2.246 ns Size: 1000, put (new): 170.9 ns, put (recycled): 100.2 ns, get: 35.17 ns, iteration (iterator): 25.22 ns, iteration (entry): 7.112 ns Size: 10000, put (new): 223.9 ns, put (recycled): 109.3 ns, get: 47.34 ns, iteration (iterator): 25.30 ns, iteration (entry): 7.256 ns class java.util.HashMap Size: 10, put (new): 156.9 ns, put (recycled): 155.4 ns, get: 28.11 ns, iteration (iterator): 35.65 ns Size: 100, put (new): 203.8 ns, put (recycled): 151.7 ns, get: 30.53 ns, iteration (iterator): 40.84 ns Size: 1000, put (new): 201.4 ns, put (recycled): 149.1 ns, get: 35.21 ns, iteration (iterator): 43.84 ns Size: 10000, put (new): 198.9 ns, put (recycled): 149.3 ns, get: 41.69 ns, iteration (iterator): 43.94 ns class java.util.LinkedHashMap Size: 10, put (new): 187.2 ns, put (recycled): 192.9 ns, get: 36.29 ns, iteration (iterator): 24.86 ns Size: 100, put (new): 198.1 ns, put (recycled): 182.5 ns, get: 38.54 ns, iteration (iterator): 18.87 ns Size: 1000, put (new): 201.4 ns, put (recycled): 182.7 ns, get: 45.52 ns, iteration (iterator): 19.58 ns Size: 10000, put (new): 209.8 ns, put (recycled): 186.2 ns, get: 53.03 ns, iteration (iterator): 19.78 ns -- FastMap.setShared(true) versus ConcurrentHashMap -- Shared FastMap Size: 10, put (new): 203.6 ns, put (recycled): 33.96 ns, get: 26.98 ns, iteration (iterator): 34.95 ns, iteration (entry): 3.851 ns Size: 100, put (new): 239.9 ns, put (recycled): 40.55 ns, get: 35.40 ns, iteration (iterator): 25.20 ns, iteration (entry): 2.247 ns Size: 1000, put (new): 295.4 ns, put (recycled): 55.75 ns, get: 41.39 ns, iteration (iterator): 25.18 ns, iteration (entry): 7.119 ns Size: 10000, put (new): 388.3 ns, put (recycled): 69.43 ns, get: 52.79 ns, iteration (iterator): 25.21 ns, iteration (entry): 7.257 ns class java.util.concurrent.ConcurrentHashMap Size: 10, put (new): 583.0 ns, put (recycled): 494.1 ns, get: 35.75 ns, iteration (iterator): 42.83 ns Size: 100, put (new): 441.0 ns, put (recycled): 369.1 ns, get: 38.67 ns, iteration (iterator): 39.53 ns Size: 1000, put (new): 425.5 ns, put (recycled): 340.3 ns, get: 43.65 ns, iteration (iterator): 45.21 ns Size: 10000, put (new): 407.6 ns, put (recycled): 337.2 ns, get: 49.83 ns, iteration (iterator): 45.19 ns -- FastSet versus HashSet -- class javolution.util.FastSet Size: 10, add (new): 124.1 ns, add (recycled): 88.00 ns, contain: 27.89 ns, iteration (iterator): 36.04 ns, iteration (record): 9.381 ns Size: 100, add (new): 140.1 ns, add (recycled): 87.61 ns, contain: 27.99 ns, iteration (iterator): 26.67 ns, iteration (record): 7.489 ns Size: 1000, add (new): 170.1 ns, add (recycled): 94.88 ns, contain: 36.20 ns, iteration (iterator): 26.15 ns, iteration (record): 11.08 ns Size: 10000, add (new): 226.9 ns, add (recycled): 107.4 ns, contain: 48.25 ns, iteration (iterator): 26.01 ns, iteration (record): 11.19 ns class java.util.HashSet Size: 10, add (new): 162.5 ns, add (recycled): 155.5 ns, contain: 27.28 ns, iteration (iterator): 36.08 ns Size: 100, add (new): 206.3 ns, add (recycled): 150.8 ns, contain: 29.84 ns, iteration (iterator): 41.58 ns Size: 1000, add (new): 203.1 ns, add (recycled): 148.7 ns, contain: 34.15 ns, iteration (iterator): 44.21 ns Size: 10000, add (new): 201.0 ns, add (recycled): 149.9 ns, contain: 39.89 ns, iteration (iterator): 44.99 ns class java.util.LinkedHashSet Size: 10, add (new): 182.5 ns, add (recycled): 180.8 ns, contain: 27.33 ns, iteration (iterator): 26.15 ns Size: 100, add (new): 187.6 ns, add (recycled): 171.4 ns, contain: 29.82 ns, iteration (iterator): 19.56 ns Size: 1000, add (new): 193.2 ns, add (recycled): 172.5 ns, contain: 34.89 ns, iteration (iterator): 21.10 ns Size: 10000, add (new): 203.7 ns, add (recycled): 181.0 ns, contain: 42.26 ns, iteration (iterator): 21.12 ns ///////////////////////////// // Package: javolution.xml // ///////////////////////////// -- Java(TM) Serialization -- Write Time: 276.8 ms Read Time: 164.8 ms -- XML Serialization (I/O Stream) -- Write Time: 78.82 ms Read Time: 128.6 ms -- XML Serialization (NIO ByteBuffer) -- Write Time: 70.96 ms Read Time: 99.05 ms More performance analysis in future versions...