You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/11/18 14:40:03 UTC
[29/50] [abbrv] ignite git commit: IGNITE-1917: Simplifying schema.
IGNITE-1917: Simplifying schema.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/82000310
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/82000310
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/82000310
Branch: refs/heads/ignite-1917
Commit: 8200031066621ab9ea6c83d3b5631fcb9a966845
Parents: acb33a5
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Nov 17 18:02:53 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Nov 17 18:02:53 2015 +0300
----------------------------------------------------------------------
.../internal/portable/PortableSchema.java | 35 ++++++--------------
.../portable/PortableSchemaIntIntMap.java | 13 +++-----
2 files changed, 16 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/82000310/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchema.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchema.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchema.java
index b163fea..f970290 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchema.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchema.java
@@ -17,14 +17,11 @@
package org.apache.ignite.internal.portable;
-import org.apache.ignite.internal.util.typedef.internal.U;
-
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -44,12 +41,12 @@ public class PortableSchema implements Externalizable {
/** Inline flag. */
private boolean inline;
- /** Map form field ID to order. */
- private PortableSchemaIntIntMap fastIdToOrder;
-
/** IDs depending on order. */
private int[] ids;
+ /** Map form field ID to order. */
+ private PortableSchemaIntIntMap idToOrder;
+
/** ID 1. */
private int id0;
@@ -107,7 +104,7 @@ public class PortableSchema implements Externalizable {
id6 = iter.hasNext() ? iter.next() : 0;
id7 = iter.hasNext() ? iter.next() : 0;
- fastIdToOrder = null;
+ idToOrder = null;
}
else {
inline = false;
@@ -115,16 +112,11 @@ public class PortableSchema implements Externalizable {
id0 = id1 = id2 = id3 = id4 = id5 = id6 = id7 = 0;
ids = new int[fieldIds.size()];
- HashMap<Integer, Integer> idToOrder = new HashMap<>();
- for (int i = 0; i < fieldIds.size(); i++) {
- int fieldId = fieldIds.get(i);
+ for (int i = 0; i < fieldIds.size(); i++)
+ ids[i] = fieldIds.get(i);
- ids[i] = fieldId;
- idToOrder.put(fieldId, i);
- }
-
- fastIdToOrder = new PortableSchemaIntIntMap(idToOrder);
+ idToOrder = new PortableSchemaIntIntMap(ids);
}
}
@@ -213,7 +205,7 @@ public class PortableSchema implements Externalizable {
return ORDER_NOT_FOUND;
}
else
- return fastIdToOrder.get(id);
+ return idToOrder.get(id);
}
/** {@inheritDoc} */
@@ -274,16 +266,11 @@ public class PortableSchema implements Externalizable {
int size = in.readInt();
ids = new int[size];
- HashMap<Integer, Integer>idToOrder = U.newHashMap(size);
- for (int i = 0; i < size; i++) {
- int fieldId = in.readInt();
-
- ids[i] = fieldId;
- idToOrder.put(fieldId, i);
- }
+ for (int i = 0; i < size; i++)
+ ids[i] = in.readInt();
- fastIdToOrder = new PortableSchemaIntIntMap(idToOrder);
+ idToOrder = new PortableSchemaIntIntMap(ids);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/82000310/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchemaIntIntMap.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchemaIntIntMap.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchemaIntIntMap.java
index f554b30..8b8f7cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchemaIntIntMap.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableSchemaIntIntMap.java
@@ -17,8 +17,6 @@
package org.apache.ignite.internal.portable;
-import java.util.Map;
-
/**
* Map for fast access to field order by ID.
*/
@@ -41,8 +39,8 @@ public class PortableSchemaIntIntMap {
*
* @param vals Values.
*/
- public PortableSchemaIntIntMap(Map<Integer, Integer> vals) {
- int size = Math.max(nextPowerOfTwo(vals.size()) << 2, MIN_SIZE);
+ public PortableSchemaIntIntMap(int[] vals) {
+ int size = Math.max(nextPowerOfTwo(vals.length) << 2, MIN_SIZE);
assert size > 0;
@@ -108,7 +106,7 @@ public class PortableSchemaIntIntMap {
* @param size Proposed result size.
* @return Parse result.
*/
- private static ParseResult parse(Map<Integer, Integer> vals, int size) {
+ private static ParseResult parse(int[] vals, int size) {
int mask = maskForPowerOfTwo(size);
int totalSize = size * 2;
@@ -116,9 +114,8 @@ public class PortableSchemaIntIntMap {
int[] data = new int[totalSize];
int collisions = 0;
- for (Map.Entry<Integer, Integer> val : vals.entrySet()) {
- int id = val.getKey();
- int order = val.getValue();
+ for (int order = 0; order < vals.length; order++) {
+ int id = vals[order];
assert id != 0;