Class Summary |
N01_Part1_Listing1 |
For the article Robust Java benchmarking, Part 1: Issues,
contains the code relevant to Listing 1. |
N02_Part1_Listing2 |
For the article Robust Java benchmarking, Part 1: Issues,
contains the code relevant to Listing 2. |
N03_Part1_Listing4 |
For the article Robust Java benchmarking, Part 1: Issues,
contains the code relevant to Listing 4. |
N04_Part1_Listing5 |
For the article Robust Java benchmarking, Part 1: Issues,
contains the code relevant to Listing 5. |
N05_Part1_Listing7 |
For the article Robust Java benchmarking, Part 1: Issues,
contains the code relevant to Listing 7. |
N06_Part2_Figures1and2 |
For the article Robust Java benchmarking, Part 2: Statistics And solutions,
contains the code relevant to Figure 1
and Figure 2. |
N07_Part2_Listing1 |
For the article Robust Java benchmarking, Part 2: Statistics And solutions,
contains the code relevant to Listing 1. |
N08_Part2_DataStructureAccess |
For the article
Robust Java benchmarking, Part 2: Statistics And solutions,
contains the code relevant to
Figure 3,
Figure 4,
Figure 5,
Listing 2,
and Listing 3. |
N08_Part2_DataStructureAccess.ArrayAccess |
Task class for benchmarking the access time of an array (N08_Part2_DataStructureAccess.ArrayAccess.integers ). |
N08_Part2_DataStructureAccess.ArrayAccessSynchronized |
Same code as N08_Part2_DataStructureAccess.ArrayAccess except synchronize on N08_Part2_DataStructureAccess.ArrayAccess.integers around each access. |
N08_Part2_DataStructureAccess.ArrayListAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.ListAccess to use an ArrayList. |
N08_Part2_DataStructureAccess.ConcurrentHashMapAccess1 |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a ConcurrentHashMap. |
N08_Part2_DataStructureAccess.ConcurrentHashMapAccess16 |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a ConcurrentHashMap. |
N08_Part2_DataStructureAccess.ConcurrentSkipListMapAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a ConcurrentSkipListMap. |
N08_Part2_DataStructureAccess.CopyOnWriteArrayListAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.ListAccess to use a CopyOnWriteArrayList. |
N08_Part2_DataStructureAccess.HashMapAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a HashMap. |
N08_Part2_DataStructureAccess.HashtableAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a Hashtable. |
N08_Part2_DataStructureAccess.IdentityHashMapAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use an IdentityHashMap. |
N08_Part2_DataStructureAccess.LinkedHashMapAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a LinkedHashMap. |
N08_Part2_DataStructureAccess.ListAccess |
Same code as N08_Part2_DataStructureAccess.ArrayAccess except use a List that is equivalent to the result of makeIntegers . |
N08_Part2_DataStructureAccess.MapAccess |
Same code as N08_Part2_DataStructureAccess.ArrayAccess except use a Map that is equivalent to the result of makeIntegers . |
N08_Part2_DataStructureAccess.TaskAbstract |
Abstract base class for Tasks which measure the access time of "array-like" data structures:
arrays, array-like Lists (e.g. |
N08_Part2_DataStructureAccess.ThreadLocalAccess |
Similar code to N08_Part2_DataStructureAccess.MapAccess except use a ThreadLocal. |
N08_Part2_DataStructureAccess.TreeMapAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a TreeMap. |
N08_Part2_DataStructureAccess.VectorAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.ListAccess to use a Vector. |
N08_Part2_DataStructureAccess.WeakHashMapAccess |
Simply causes its superclass N08_Part2_DataStructureAccess.MapAccess to use a WeakHashMap. |
N10_Supplement_Lfsr |
For the article supplement,
contains the code relevant to Listing 1 and Listing 2. |
N11_Supplement_LfsrVariations |
For the article supplement,
contains the code relevant to Figure 1 and Figure 2. |
N11_Supplement_LfsrVariations.Benchmark2 |
Specialized subclass of Benchmark which has an additional perform method
which will support the calculaations and results needed by the parent class. |
N12_Supplement_Listing3 |
For the article supplement,
contains the code relevant to Listing 3. |
N13_Supplement_CallableVersusRunnable |
For the article supplement,
contains the code relevant to Listing 4 and Listing 5. |
N14_Extra_DataStructureIteration |
Benchmarks the time to completely iterate thru all the elements of common data structures. |
N14_Extra_DataStructureIteration.ArrayBlockingQueueIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use an ArrayBlockingQueue. |
N14_Extra_DataStructureIteration.ArrayDequeIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use an ArrayDeque. |
N14_Extra_DataStructureIteration.ArrayIteration |
Task class for benchmarking the access time of an array of Integers. |
N14_Extra_DataStructureIteration.ArrayIterationSynchronized |
Same code as N14_Extra_DataStructureIteration.ArrayIteration except synchronize on N14_Extra_DataStructureIteration.ArrayIteration.integers around each access. |
N14_Extra_DataStructureIteration.ArrayListIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use an ArrayList. |
N14_Extra_DataStructureIteration.CollectionIteration |
Same code as N14_Extra_DataStructureIteration.ArrayIteration except use a Collection that is equivalent to N14_Extra_DataStructureIteration.ArrayIteration.integers . |
N14_Extra_DataStructureIteration.ConcurrentHashMapIteration1 |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a ConcurrentHashMap. |
N14_Extra_DataStructureIteration.ConcurrentHashMapIteration16 |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a ConcurrentHashMap. |
N14_Extra_DataStructureIteration.ConcurrentLinkedQueueIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a ConcurrentLinkedQueue. |
N14_Extra_DataStructureIteration.ConcurrentSkipListMapIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a ConcurrentSkipListMap. |
N14_Extra_DataStructureIteration.ConcurrentSkipListSetIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a ConcurrentSkipListSet. |
N14_Extra_DataStructureIteration.CopyOnWriteArrayListIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a CopyOnWriteArrayList. |
N14_Extra_DataStructureIteration.CopyOnWriteArraySetIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a CopyOnWriteArraySet. |
N14_Extra_DataStructureIteration.HashMapIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a HashMap. |
N14_Extra_DataStructureIteration.HashSetIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a HashSet. |
N14_Extra_DataStructureIteration.HashtableIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a Hashtable. |
N14_Extra_DataStructureIteration.IdentityHashMapIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use an IdentityHashMap. |
N14_Extra_DataStructureIteration.LinkedBlockingDequeIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a LinkedBlockingDeque. |
N14_Extra_DataStructureIteration.LinkedBlockingQueueIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a LinkedBlockingQueue. |
N14_Extra_DataStructureIteration.LinkedHashMapIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a LinkedHashMap. |
N14_Extra_DataStructureIteration.LinkedHashSetIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a LinkedHashSet. |
N14_Extra_DataStructureIteration.LinkedListIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a LinkedList. |
N14_Extra_DataStructureIteration.MapIteration |
Same code as N14_Extra_DataStructureIteration.ArrayIteration except use a Map that is equivalent to the result of makeIntegers . |
N14_Extra_DataStructureIteration.PriorityBlockingQueueIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a PriorityBlockingQueue. |
N14_Extra_DataStructureIteration.PriorityQueueIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a PriorityQueue. |
N14_Extra_DataStructureIteration.StackIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a Stack. |
N14_Extra_DataStructureIteration.TaskAbstract |
Abstract base class for Tasks which measure the iteration time of Iterable data structures:
arrays, Collections, Maps. |
N14_Extra_DataStructureIteration.TreeMapIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a TreeMap. |
N14_Extra_DataStructureIteration.TreeSetIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a TreeSet. |
N14_Extra_DataStructureIteration.VectorIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.CollectionIteration to use a Vector. |
N14_Extra_DataStructureIteration.WeakHashMapIteration |
Simply causes its superclass N14_Extra_DataStructureIteration.MapIteration to use a WeakHashMap. |
N15_Extra_ArrayRandomAccessVersusSize |
Benchmarks the random access time of an int[] of a specified size. |
N15_Extra_ArrayRandomAccessVersusSize.TaskIntArray |
Identical to a combination of N08_Part2_DataStructureAccess.TaskAbstract and N08_Part2_DataStructureAccess.ArrayAccess
except that is customized for random access of an int[] instead of arbitrary access of an Integer[] (the Programmer notes above explain why). |