home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-07-13 | 4.1 KB | 152 lines |
- import jgl.*;
- import java.util.Hashtable;
- import java.util.Enumeration;
-
- public class MapBenchmarks
- {
- static Randomizer random = new Randomizer();
- static final int LOOPS = 200;
- static final int MAX_SIZE = 3000;
-
- public static void main( String args[] )
- {
- System.out.println( "MapBenchmarks" );
- mapAdding();
- mapFinding();
- mapRemoving();
- mapClearing();
- }
-
- static Object[] getRandomVectorInts()
- {
- int size = Randomizer.getInt( MAX_SIZE );
- Integer[] ints = new Integer[ size ];
- for( int i = 0; i < size; i++ )
- ints[ i ] = new Integer( Randomizer.getInt( 10000 ) );
- return ints;
- }
-
- static void mapAdding()
- {
- Benchmark jglBenchmark = new Benchmark( "jglMapAdding", 50 );
- Benchmark jdkBenchmark = new Benchmark( "jdkHashtableAdding", 50 );
-
- for( int i = 0; i <= LOOPS; i++ )
- {
- Object[] data = getRandomVectorInts();
- jgl.HashMap jglMap = new jgl.HashMap();
- java.util.Hashtable jdkHashtable = new java.util.Hashtable();
-
- jdkBenchmark.start();
- for( int j = 0; j < data.length; j++ )
- jdkHashtable.put( data[ j ], data[ j ] );
- jdkBenchmark.stop();
-
- jglBenchmark.start();
- for( int j = 0; j < data.length; j++ )
- jglMap.put( data[ j ], data[ j ] );
- jglBenchmark.stop();
- }
-
- jglBenchmark.compareTo( jdkBenchmark );
- }
-
- static void mapFinding()
- {
- Benchmark jglBenchmark = new Benchmark( "jglMapFinding", 50 );
- Benchmark jdkBenchmark = new Benchmark( "jdkHashtableFinding", 50 );
-
- for( int i = 0; i <= LOOPS; i++ )
- {
- Object[] data = getRandomVectorInts();
- jgl.HashMap jglMap = new jgl.HashMap();
- java.util.Hashtable jdkHashtable = new java.util.Hashtable();
-
- for( int j = 0; j < data.length; j++ )
- jglMap.put( data[ j ], data[ j ] );
-
- for( int j = 0; j < data.length; j++ )
- jdkHashtable.put( data[ j ], data[ j ] );
-
- jdkBenchmark.start();
- for( int j = 0; j < data.length; j++ )
- {
- jdkHashtable.get( data[ j ] );
- }
- jdkBenchmark.stop();
-
- jglBenchmark.start();
- for( int j = 0; j < data.length; j++ )
- {
- jglMap.get( data[ j ] );
- }
- jglBenchmark.stop();
- }
-
- jglBenchmark.compareTo( jdkBenchmark );
- }
-
- static void mapRemoving()
- {
- Benchmark jglBenchmark = new Benchmark( "jglMapRemoving", 50 );
- Benchmark jdkBenchmark = new Benchmark( "jdkHashtableRemoving", 50 );
-
- for( int i = 0; i <= LOOPS; i++ )
- {
- Object[] data = getRandomVectorInts();
- jgl.HashMap jglMap = new jgl.HashMap();
- java.util.Hashtable jdkHashtable = new java.util.Hashtable();
-
- for( int j = 0; j < data.length; j++ )
- jglMap.put( data[ j ], data[ j ] );
-
- for( int j = 0; j < data.length; j++ )
- jdkHashtable.put( data[ j ], data[ j ] );
-
- jdkBenchmark.start();
- for( int j = 0; j < data.length; j++ )
- {
- jdkHashtable.remove( data[ j ] );
- }
- jdkBenchmark.stop();
-
- jglBenchmark.start();
- for( int j = 0; j < data.length; j++ )
- {
- jglMap.remove( data[ j ] );
- }
- jglBenchmark.stop();
- }
-
- jglBenchmark.compareTo( jdkBenchmark );
- }
-
- static void mapClearing()
- {
- Benchmark jglBenchmark = new Benchmark( "jglMapClearing", 50 );
- Benchmark jdkBenchmark = new Benchmark( "jdkHashtableClearing", 50 );
-
- for( int i = 0; i <= LOOPS; i++ )
- {
- Object[] data = getRandomVectorInts();
- jgl.HashMap jglMap = new jgl.HashMap();
- java.util.Hashtable jdkHashtable = new java.util.Hashtable();
-
- for( int j = 0; j < data.length; j++ )
- jglMap.put( data[ j ], data[ j ] );
-
- for( int j = 0; j < data.length; j++ )
- jdkHashtable.put( data[ j ], data[ j ] );
-
- jdkBenchmark.start();
- jdkHashtable.clear();
- jdkBenchmark.stop();
-
- jglBenchmark.start();
- jglMap.clear();
- jglBenchmark.stop();
- }
-
- jglBenchmark.compareTo( jdkBenchmark );
- }
- }