You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2017/06/30 15:32:56 UTC
[07/10] tinkerpop git commit: being smarter about the collection
sizes on object creation.
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/tp32
Commit: 601f9c3062e78bec8e23d695a75cedb1e3381229
Parents: f43d1e2
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Jun 28 09:02:49 2017 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
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()));
}