Advertisement
Guest User

Untitled

a guest
Mar 21st, 2012
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.22 KB | None | 0 0
  1. import java.util.HashMap;
  2. import java.util.Iterator;
  3. import java.util.Random;
  4.  
  5. public class HashMapBench {
  6.  
  7.     public static void shuffle(String []seq) {
  8.         Random g = new Random();
  9.         int i, c;
  10.         String t;
  11.  
  12.         for (i = 0; i < seq.length; i++) {
  13.             c = g.nextInt(seq.length - i);
  14.             t = seq[i];
  15.             seq[i] = seq[i + c];
  16.             seq[i + c] = t;
  17.         }
  18.     }
  19.  
  20.     public static void randomGetHashMapBench(int N) {
  21.         HashMap<String, Integer> a = new HashMap<String, Integer>();
  22.         String []seq = new String[N];
  23.         int sum = 0;
  24.         long start = 0;
  25.         long duration = 0;
  26.         Random g = new Random();
  27.  
  28.         for (int i = 0; i < N; i++) {
  29.             String key = String.format("%09d", i);
  30.             a.put(key, new Integer(i));
  31.             seq[i] = key;
  32.         }
  33.  
  34.         shuffle(seq);
  35.  
  36.         start = System.nanoTime();
  37.         for (int i = 0; i < N; i++) {
  38.             int k = g.nextInt(N);
  39.             sum += a.get(seq[k]).intValue();
  40.         }
  41.         duration = System.nanoTime() - start;
  42.         System.out.println(String.format("HashMap Random Access. N = %d: %f us/op. checksum: %d",
  43.                     N, (double)duration/(double)(N * 1e3), sum));
  44.     }
  45.     public static void main(String args[]) {
  46.         int nr_elems = 10;
  47.  
  48.         if (args.length > 0) {
  49.             nr_elems = Integer.parseInt(args[0]);
  50.         }
  51.         randomGetHashMapBench(nr_elems);
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement