summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2007-06-19 19:12:00 +0000
committerRich Hickey <richhickey@gmail.com>2007-06-19 19:12:00 +0000
commitc070e63a413e1cfe3d95f2100b6aa7ce28ea5221 (patch)
tree38c15d1d8f6c19970acc2b75a904e80e04af019d
parent94a93a725b26f36f3a2d3dbf3b84fc5f3d341cc2 (diff)
test main() changes
-rw-r--r--src/jvm/clojure/lang/PersistentHashMap.java12
-rw-r--r--src/jvm/clojure/lang/PersistentTreeMap.java35
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());
}