Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1701 f43d1e2dd -> 601f9c306


being smarter about the collection sizes on object creation.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/601f9c30
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/601f9c30
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/601f9c30

Branch: refs/heads/TINKERPOP-1701
Commit: 601f9c3062e78bec8e23d695a75cedb1e3381229
Parents: f43d1e2
Author: Marko A. Rodriguez <[email protected]>
Authored: Wed Jun 28 09:02:49 2017 -0600
Committer: Marko A. Rodriguez <[email protected]>
Committed: Wed Jun 28 09:02:49 2017 -0600

----------------------------------------------------------------------
 .../gremlin/structure/util/detached/DetachedFactory.java | 11 ++++++++---
 .../structure/util/reference/ReferenceFactory.java       | 11 ++++++++---
 2 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/601f9c30/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedFactory.java
----------------------------------------------------------------------
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedFactory.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedFactory.java
index bd69b87..d353e51 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedFactory.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedFactory.java
@@ -83,7 +83,7 @@ public class DetachedFactory {
         } else if (object instanceof Path) {
             return (D) DetachedFactory.detach((Path) object, withProperties);
         } else if (object instanceof List) {
-            final List list = new ArrayList();
+            final List list = new ArrayList(((List) object).size());
             for (final Object item : (List) object) {
                 list.add(DetachedFactory.detach(item, withProperties));
             }
@@ -95,13 +95,18 @@ public class DetachedFactory {
             }
             return (D) set;
         } else if (object instanceof Set) {
-            final Set set = object instanceof LinkedHashSet ? new 
LinkedHashSet() : new HashSet();
+            final Set set = object instanceof LinkedHashSet ?
+                    new LinkedHashSet(((Set) object).size()) :
+                    new HashSet(((Set) object).size());
             for (final Object item : (Set) object) {
                 set.add(DetachedFactory.detach(item, withProperties));
             }
             return (D) set;
         } else if (object instanceof Map) {
-            final Map map = object instanceof Tree ? new Tree() : object 
instanceof LinkedHashMap ? new LinkedHashMap() : new HashMap();
+            final Map map = object instanceof Tree ? new Tree() :
+                    object instanceof LinkedHashMap ?
+                            new LinkedHashMap(((Map) object).size()) :
+                            new HashMap(((Map) object).size());
             for (final Map.Entry<Object, Object> entry : ((Map<Object, 
Object>) object).entrySet()) {
                 map.put(DetachedFactory.detach(entry.getKey(), 
withProperties), DetachedFactory.detach(entry.getValue(), withProperties));
             }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/601f9c30/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceFactory.java
----------------------------------------------------------------------
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceFactory.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceFactory.java
index a703ada..7e5ad56 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceFactory.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceFactory.java
@@ -83,7 +83,7 @@ public class ReferenceFactory {
         } else if (object instanceof Path) {
             return (D) ReferenceFactory.detach((Path) object);
         } else if (object instanceof List) {
-            final List list = new ArrayList();
+            final List list = new ArrayList(((List) object).size());
             for (final Object item : (List) object) {
                 list.add(ReferenceFactory.detach(item));
             }
@@ -95,13 +95,18 @@ public class ReferenceFactory {
             }
             return (D) set;
         } else if (object instanceof Set) {
-            final Set set = object instanceof LinkedHashSet ? new 
LinkedHashSet() : new HashSet();
+            final Set set = object instanceof LinkedHashSet ?
+                    new LinkedHashSet(((Set) object).size()) :
+                    new HashSet(((Set) object).size());
             for (final Object item : (Set) object) {
                 set.add(ReferenceFactory.detach(item));
             }
             return (D) set;
         } else if (object instanceof Map) {
-            final Map map = object instanceof Tree ? new Tree() : object 
instanceof LinkedHashMap ? new LinkedHashMap() : new HashMap();
+            final Map map = object instanceof Tree ? new Tree() :
+                    object instanceof LinkedHashMap ?
+                            new LinkedHashMap(((Map) object).size()) :
+                            new HashMap(((Map) object).size());
             for (final Map.Entry<Object, Object> entry : ((Map<Object, 
Object>) object).entrySet()) {
                 map.put(ReferenceFactory.detach(entry.getKey()), 
ReferenceFactory.detach(entry.getValue()));
             }

Reply via email to