summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Grand <christophe@cgrand.net>2009-08-10 20:04:20 +0200
committerRich Hickey <richhickey@gmail.com>2009-08-26 12:02:57 -0400
commit7b5d49396c5925f9fc9bd587760df6d9f19da5e1 (patch)
treec89ca46e6b4602536ffb82d3df9dd474057d5628
parentdf40a8271c916cbc173a68ed1e3e2b1aa98cbaee (diff)
shrink when children count <= 8
Signed-off-by: Rich Hickey <richhickey@gmail.com>
-rw-r--r--src/jvm/clojure/lang/PersistentHashMap2.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/PersistentHashMap2.java b/src/jvm/clojure/lang/PersistentHashMap2.java
index b6685cf8..507a5add 100644
--- a/src/jvm/clojure/lang/PersistentHashMap2.java
+++ b/src/jvm/clojure/lang/PersistentHashMap2.java
@@ -344,7 +344,7 @@ final static class ArrayNode implements INode{
if(n == node)
return this;
if (n == null) {
- if (count <= 12) // shrink
+ if (count <= 8) // shrink
return pack(null, idx);
return new ArrayNode(null, count - 1, cloneAndSet(array, idx, n));
} else
@@ -426,7 +426,7 @@ final static class ArrayNode implements INode{
if(n == node)
return this;
if(n == null) {
- if (count <= 12) // shrink
+ if (count <= 8) // shrink
return pack(edit, idx);
ArrayNode editable = editAndSet(edit, idx, n);
editable.count--;