Performance graphs for javolution.util package (Javolution Collections versus Standard Collections Classes) are shown in Annex of the presentation:

Collection Classes for Real-Time and High-Performance Applications (pdf)


Windows XP - Intel Pentium 4 - 3.4 GHz - 0.99 GB of RAM:

C:\javolution-4.0>java -version

java version "1.6.0-rc"
Java(TM) SE Runtime Environment (build 1.6.0-rc-b98)
Java HotSpot(TM) Client VM (build 1.6.0-rc-b98, mixed mode, sharing)

C:\javolution-4.0>java -Xms512M -Xmx512M -jar javolution.jar perf

Javolution - Java(TM) Solution for Real-Time and Embedded Systems
Version 4.0.0 (J2SE 1.6+) September 18 2006 (http://javolution.org)

Benchmark...

////////////////////////////////////
// Package: javolution.xml.stream //
////////////////////////////////////

StAX XMLStreamWriter (namespace repairing disabled): 8.539 ms
Javolution XMLStreamWriter (namespace repairing disabled): 4.983 ms
StAX XMLStreamWriter (namespace repairing enabled): 12.43 ms
Javolution XMLStreamWriter (namespace repairing enabled): 4.969 ms
StAX XMLStreamReader: 8.813 ms
Javolution XMLStreamReader: 5.826 ms

/////////////////////////////
// Package: javolution.xml //
/////////////////////////////

-- Java(TM) Serialization --
Write Time: 45.94 ms
Read Time: 46.54 ms

-- XML Serialization (I/O Stream) --
Write Time: 26.60 ms
Read Time: 44.75 ms

-- XML Serialization (NIO ByteBuffer) --
Write Time: 33.74 ms
Read Time: 54.33 ms

//////////////////////////////
// Package: javolution.text //
//////////////////////////////

-- String/StringBuffer versus Text --

"Concatenates this line 1000 times (resulting in a text of about 80,000 characters)"
String "+" operator: 234.6 ms
StringBuffer "append" : 411.8 us
Text "concat" (heap): 403.3 us
Text "concat" (stack): 234.4 us

Inserts one character at random locations 1,000 times to the 80,000 characters text.
StringBuffer insert: 26.09 ms
Text insert (heap): 2.157 ms
Text insert (stack): 1.559 ms

Delete 1,000 times one character at random location from the 80,000 characters text.
StringBuffer delete: 25.32 ms
Text delete (heap): 1.587 ms
Text delete (stack): 1.185 ms

//////////////////////////////////
// Package: javolution.context //
//////////////////////////////////

-- Heap versus Stack Allocation (Pool-Context) --
Small object heap creation: 26.30 ns
Small object stack creation: 16.63 ns
char[256] heap creation: 299.6 ns
char[512] heap creation: 601.5 ns
char[256] stack creation: 56.94 ns
char[512] stack creation: 61.19 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): 27.11 ns, add (recycled): 21.91 ns, iteration (iterator): 21.92 ns, get(int): 6.005 ns
    Size: 100, add (new): 24.73 ns, add (recycled): 18.32 ns, iteration (iterator): 14.21 ns, get(int): 5.021 ns
    Size: 1000, add (new): 22.83 ns, add (recycled): 17.56 ns, iteration (iterator): 13.42 ns, get(int): 4.959 ns
    Size: 10000, add (new): 25.49 ns, add (recycled): 18.41 ns, iteration (iterator): 17.13 ns, get(int): 7.967 ns

class java.util.ArrayList
    Size: 10, add (new): 19.53 ns, add (recycled): 18.77 ns, iteration (iterator): 48.93 ns, get(int): 7.219 ns
    Size: 100, add (new): 27.30 ns, add (recycled): 16.78 ns, iteration (iterator): 44.55 ns, get(int): 6.340 ns
    Size: 1000, add (new): 21.86 ns, add (recycled): 16.83 ns, iteration (iterator): 43.52 ns, get(int): 6.253 ns
    Size: 10000, add (new): 22.46 ns, add (recycled): 17.51 ns, iteration (iterator): 43.57 ns, get(int): 6.482 ns

-- FastList versus LinkedList -- 
class javolution.util.FastList
    Size: 10, add (new): 70.16 ns, add (recycled): 18.97 ns, iteration (iterator): 21.46 ns, iteration (node): 2.575 ns
    Size: 100, add (new): 66.52 ns, add (recycled): 15.98 ns, iteration (iterator): 12.90 ns, iteration (node): 1.627 ns
    Size: 1000, add (new): 73.64 ns, add (recycled): 24.80 ns, iteration (iterator): 13.98 ns, iteration (node): 4.250 ns
    Size: 10000, add (new): 74.56 ns, add (recycled): 27.74 ns, iteration (iterator): 14.04 ns, iteration (node): 4.353 ns

class java.util.LinkedList
    Size: 10, add (new): 43.47 ns, add (recycled): 67.77 ns, iteration (iterator): 19.63 ns
    Size: 100, add (new): 43.14 ns, add (recycled): 65.23 ns, iteration (iterator): 13.44 ns
    Size: 1000, add (new): 48.85 ns, add (recycled): 69.03 ns, iteration (iterator): 14.64 ns
    Size: 10000, add (new): 54.30 ns, add (recycled): 75.80 ns, iteration (iterator): 14.66 ns


-- FastMap versus HashMap  --
class javolution.util.FastMap
    Size: 10, put (new): 144.9 ns, put (recycled): 84.16 ns, get: 23.20 ns, iteration (iterator): 31.52 ns, iteration (entry): 2.852 ns
    Size: 100, put (new): 164.5 ns, put (recycled): 83.05 ns, get: 18.80 ns, iteration (iterator): 23.68 ns, iteration (entry): 1.629 ns
    Size: 1000, put (new): 185.1 ns, put (recycled): 100.5 ns, get: 26.40 ns, iteration (iterator): 23.94 ns, iteration (entry): 5.895 ns
    Size: 10000, put (new): 238.0 ns, put (recycled): 108.4 ns, get: 35.05 ns, iteration (iterator): 23.81 ns, iteration (entry): 5.747 ns

class java.util.HashMap
    Size: 10, put (new): 143.6 ns, put (recycled): 155.5 ns, get: 21.49 ns, iteration (iterator): 31.15 ns
    Size: 100, put (new): 190.2 ns, put (recycled): 148.8 ns, get: 19.53 ns, iteration (iterator): 36.62 ns
    Size: 1000, put (new): 192.3 ns, put (recycled): 147.6 ns, get: 27.14 ns, iteration (iterator): 38.61 ns
    Size: 10000, put (new): 191.2 ns, put (recycled): 148.6 ns, get: 33.39 ns, iteration (iterator): 38.76 ns

class java.util.LinkedHashMap
    Size: 10, put (new): 182.4 ns, put (recycled): 189.7 ns, get: 28.50 ns, iteration (iterator): 23.53 ns
    Size: 100, put (new): 186.1 ns, put (recycled): 176.1 ns, get: 25.94 ns, iteration (iterator): 15.74 ns
    Size: 1000, put (new): 192.6 ns, put (recycled): 178.9 ns, get: 33.25 ns, iteration (iterator): 17.49 ns
    Size: 10000, put (new): 199.5 ns, put (recycled): 180.0 ns, get: 40.73 ns, iteration (iterator): 17.84 ns


-- FastMap.setShared(true) versus ConcurrentHashMap  --
Shared FastMap
    Size: 10, put (new): 161.9 ns, put (recycled): 240.9 ns, get: 23.10 ns, iteration (iterator): 31.67 ns, iteration (entry): 2.448 ns
    Size: 100, put (new): 177.2 ns, put (recycled): 234.9 ns, get: 18.80 ns, iteration (iterator): 24.10 ns, iteration (entry): 1.635 ns
    Size: 1000, put (new): 195.1 ns, put (recycled): 249.7 ns, get: 25.87 ns, iteration (iterator): 23.82 ns, iteration (entry): 5.587 ns
    Size: 10000, put (new): 246.7 ns, put (recycled): 258.5 ns, get: 33.67 ns, iteration (iterator): 23.89 ns, iteration (entry): 5.686 ns

class java.util.concurrent.ConcurrentHashMap
    Size: 10, put (new): 584.6 ns, put (recycled): 365.9 ns, get: 28.13 ns, iteration (iterator): 69.42 ns
    Size: 100, put (new): 417.3 ns, put (recycled): 336.9 ns, get: 26.81 ns, iteration (iterator): 66.79 ns
    Size: 1000, put (new): 473.1 ns, put (recycled): 400.0 ns, get: 33.92 ns, iteration (iterator): 70.70 ns
    Size: 10000, put (new): 394.7 ns, put (recycled): 334.7 ns, get: 40.42 ns, iteration (iterator): 73.00 ns


-- FastSet versus HashSet --
class javolution.util.FastSet
    Size: 10, add (new): 151.0 ns, add (recycled): 96.61 ns, contain: 27.42 ns, iteration (iterator): 33.76 ns, iteration (record): 7.924 ns
    Size: 100, add (new): 166.2 ns, add (recycled): 86.54 ns, contain: 22.72 ns, iteration (iterator): 24.85 ns, iteration (record): 6.470 ns
    Size: 1000, add (new): 187.4 ns, add (recycled): 105.7 ns, contain: 32.07 ns, iteration (iterator): 24.38 ns, iteration (record): 8.960 ns
    Size: 10000, add (new): 238.0 ns, add (recycled): 110.1 ns, contain: 44.08 ns, iteration (iterator): 24.38 ns, iteration (record): 9.231 ns

class java.util.HashSet
    Size: 10, add (new): 158.8 ns, add (recycled): 156.4 ns, contain: 20.26 ns, iteration (iterator): 33.92 ns
    Size: 100, add (new): 192.6 ns, add (recycled): 147.5 ns, contain: 18.82 ns, iteration (iterator): 36.83 ns
    Size: 1000, add (new): 192.4 ns, add (recycled): 147.0 ns, contain: 24.56 ns, iteration (iterator): 38.53 ns
    Size: 10000, add (new): 189.6 ns, add (recycled): 147.2 ns, contain: 30.19 ns, iteration (iterator): 38.71 ns

class java.util.LinkedHashSet
    Size: 10, add (new): 181.8 ns, add (recycled): 192.6 ns, contain: 20.82 ns, iteration (iterator): 23.64 ns
    Size: 100, add (new): 185.4 ns, add (recycled): 183.3 ns, contain: 19.03 ns, iteration (iterator): 15.97 ns
    Size: 1000, add (new): 192.4 ns, add (recycled): 183.4 ns, contain: 25.50 ns, iteration (iterator): 16.93 ns
    Size: 10000, add (new): 199.4 ns, add (recycled): 184.0 ns, contain: 33.17 ns, iteration (iterator): 16.96 ns

More performance analysis in future versions...