diff options
author | Rich Hickey <richhickey@gmail.com> | 2007-06-19 19:12:00 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2007-06-19 19:12:00 +0000 |
commit | c070e63a413e1cfe3d95f2100b6aa7ce28ea5221 (patch) | |
tree | 38c15d1d8f6c19970acc2b75a904e80e04af019d | |
parent | 94a93a725b26f36f3a2d3dbf3b84fc5f3d341cc2 (diff) |
test main() changes
-rw-r--r-- | src/jvm/clojure/lang/PersistentHashMap.java | 12 | ||||
-rw-r--r-- | src/jvm/clojure/lang/PersistentTreeMap.java | 35 |
2 files changed, 37 insertions, 10 deletions
diff --git a/src/jvm/clojure/lang/PersistentHashMap.java b/src/jvm/clojure/lang/PersistentHashMap.java index 0b11f9ca..da3c17e3 100644 --- a/src/jvm/clojure/lang/PersistentHashMap.java +++ b/src/jvm/clojure/lang/PersistentHashMap.java @@ -389,7 +389,7 @@ public static void main(String[] args){ IPersistentMap snapshotMap = map; for(int i = 0; i < words.size() / 200; i++) { - map = map.without(words.get(rand.nextInt(words.size()/2))); + map = map.without(words.get(rand.nextInt(words.size() / 2))); } long estimatedTime = System.nanoTime() - startTime; System.out.println("count = " + map.count() + ", time: " + estimatedTime / 1000000); @@ -403,7 +403,7 @@ public static void main(String[] args){ rand = new Random(42); for(int i = 0; i < words.size() / 200; i++) { - ht.remove(words.get(rand.nextInt(words.size()/2))); + ht.remove(words.get(rand.nextInt(words.size() / 2))); } estimatedTime = System.nanoTime() - startTime; System.out.println("count = " + ht.size() + ", time: " + estimatedTime / 1000000); @@ -417,7 +417,7 @@ public static void main(String[] args){ ++c; } estimatedTime = System.nanoTime() - startTime; - System.out.println("notfound = " + c + ", time: " + estimatedTime/1000000); + System.out.println("notfound = " + c + ", time: " + estimatedTime / 1000000); System.out.println("ht lookup"); startTime = System.nanoTime(); c = 0; @@ -427,7 +427,7 @@ public static void main(String[] args){ ++c; } estimatedTime = System.nanoTime() - startTime; - System.out.println("notfound = " + c + ", time: " + estimatedTime/1000000); + System.out.println("notfound = " + c + ", time: " + estimatedTime / 1000000); System.out.println("snapshotMap lookup"); startTime = System.nanoTime(); c = 0; @@ -437,11 +437,11 @@ public static void main(String[] args){ ++c; } estimatedTime = System.nanoTime() - startTime; - System.out.println("notfound = " + c + ", time: " + estimatedTime/1000000); + System.out.println("notfound = " + c + ", time: " + estimatedTime / 1000000); } catch(FileNotFoundException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + e.printStackTrace(); } } diff --git a/src/jvm/clojure/lang/PersistentTreeMap.java b/src/jvm/clojure/lang/PersistentTreeMap.java index 010d1063..f2d4b70e 100644 --- a/src/jvm/clojure/lang/PersistentTreeMap.java +++ b/src/jvm/clojure/lang/PersistentTreeMap.java @@ -750,10 +750,11 @@ static public void main(String args[]){ } System.out.println("Building set"); //IPersistentMap set = new PersistentArrayMap(); - IPersistentMap set = new PersistentHashtableMap(1001); + //IPersistentMap set = new PersistentHashtableMap(1001); + IPersistentMap set = PersistentHashMap.EMPTY; //IPersistentMap set = new ListMap(); //IPersistentMap set = new ArrayMap(); - //IPersistentMap set = new RBTree(); + //IPersistentMap set = new PersistentTreeMap(); // for(int i = 0; i < ints.length; i++) // { // Integer anInt = ints[i]; @@ -780,9 +781,10 @@ static public void main(String args[]){ // System.out.print(o.key().toString() + ","); } + Random rand = new Random(42); for(int i = 0; i < ints.length/2; i++) { - Integer anInt = ints[i]; + Integer anInt = ints[rand.nextInt(n)]; set = set.without(anInt); } @@ -815,15 +817,40 @@ static public void main(String args[]){ // System.out.print(o.toString() + ","); } + rand = new Random(42); for(int i = 0; i < ints.length/2; i++) { - Integer anInt = ints[i]; + Integer anInt = ints[rand.nextInt(n)]; ht.remove(anInt); } estimatedTime = System.nanoTime() - startTime; System.out.println(); System.out.println("size = " + ht.size() + ", time: " + estimatedTime/10000); + System.out.println("set lookup"); + startTime = System.nanoTime(); + int c = 0; + for(int i = 0; i < ints.length; i++) + { + Integer anInt = ints[i]; + if(!set.contains(anInt)) + ++c; + } + estimatedTime = System.nanoTime() - startTime; + System.out.println("notfound = " + c + ", time: " + estimatedTime/10000); + + System.out.println("ht lookup"); + startTime = System.nanoTime(); + c = 0; + for(int i = 0; i < ints.length; i++) + { + Integer anInt = ints[i]; + if(!ht.containsKey(anInt)) + ++c; + } + estimatedTime = System.nanoTime() - startTime; + System.out.println("notfound = " + c + ", time: " + estimatedTime/10000); + // System.out.println("_count = " + set._count + ", min: " + set.minKey() + ", max: " + set.maxKey() // + ", depth: " + set.depth()); } |