Merge branch 'tp32'
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2ea9a66a Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2ea9a66a Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2ea9a66a Branch: refs/heads/master Commit: 2ea9a66ac4bf3702f83c9cfeeeba97c6ecd81082 Parents: e533b79 389394c Author: Stephen Mallette <[email protected]> Authored: Wed Jan 24 17:06:38 2018 -0500 Committer: Stephen Mallette <[email protected]> Committed: Wed Jan 24 17:06:38 2018 -0500 ---------------------------------------------------------------------- CHANGELOG.asciidoc | 3 +- .../traversal/TraversalVertexProgram.java | 10 +- .../computer/traversal/WorkerExecutor.java | 26 +-- .../traverser/util/IndexedTraverserSet.java | 112 ++++++++++ .../traversal/traverser/util/TraverserSet.java | 3 +- .../traverser/util/VertexTraverserSet.java | 71 ------- .../gremlin/structure/io/gryo/GryoVersion.java | 4 +- .../tinkerpop/gremlin/structure/util/Host.java | 23 +++ .../traverser/util/IndexedTraverserSetTest.java | 189 +++++++++++++++++ .../util/TraverserSetImplementationTest.java | 207 +++++++++++++++++++ .../process/traversal/step/map/ProgramTest.java | 8 +- 11 files changed, 551 insertions(+), 105 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2ea9a66a/CHANGELOG.asciidoc ---------------------------------------------------------------------- diff --cc CHANGELOG.asciidoc index a681a57,7377d24..247d6de --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@@ -273,9 -24,9 +273,10 @@@ image::https://raw.githubusercontent.co === TinkerPop 3.2.8 (Release Date: NOT OFFICIALLY RELEASED YET) * Delayed setting of the request identifier until `RequestMessage` construction by the builder. +* `ReferenceElement` avoids `UnsupportedOperationException` handling in construction thus improving performance. * Removed hardcoded expectation in metrics serialization test suite as different providers may have different outputs. - * Added `VertexTraverserSet` which indexes on a `Vertex` thus improving performance in `VertexProgram` implementations. + * Added `IndexedTraverserSet` which indexes on the value of a `Traverser` thus improving performance when used. + * Utilized `IndexedTraverserSet` in `TraversalVertexProgram` to avoid extra iteration when doing `Vertex` lookups. * Fixed a bug in `ComputerAwareStep` that didn't handle `reset()` properly and thus occasionally produced some extra traversers. [[release-3-2-7]] http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2ea9a66a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java ---------------------------------------------------------------------- diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java index 984738c,6d5e99a..4fe68e3 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java @@@ -526,33 -307,8 +526,33 @@@ public enum GryoVersion add(GryoTypeReg.of(RangeGlobalStep.RangeBiOperator.class, 114)); add(GryoTypeReg.of(OrderGlobalStep.OrderBiOperator.class, 118, new JavaSerializer())); add(GryoTypeReg.of(ProfileStep.ProfileBiOperator.class, 119)); + + add(GryoTypeReg.of(ConnectiveStrategy.class, 138)); + add(GryoTypeReg.of(HaltedTraverserStrategy.class, 139)); + add(GryoTypeReg.of(PartitionStrategy.class, 140, new JavaSerializer())); + add(GryoTypeReg.of(SubgraphStrategy.class, 141, new JavaSerializer())); + add(GryoTypeReg.of(VertexProgramStrategy.class, 142, new JavaSerializer())); + add(GryoTypeReg.of(MatchAlgorithmStrategy.class, 143)); + add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class, 144)); + add(GryoTypeReg.of(AdjacentToIncidentStrategy.class, 145)); + add(GryoTypeReg.of(FilterRankingStrategy.class, 146)); + add(GryoTypeReg.of(IdentityRemovalStrategy.class, 147)); + add(GryoTypeReg.of(IncidentToAdjacentStrategy.class, 148)); + add(GryoTypeReg.of(InlineFilterStrategy.class, 149)); + add(GryoTypeReg.of(LazyBarrierStrategy.class, 150)); + add(GryoTypeReg.of(MatchPredicateStrategy.class, 151)); + add(GryoTypeReg.of(OrderLimitStrategy.class, 152)); + add(GryoTypeReg.of(PathProcessorStrategy.class, 153)); + add(GryoTypeReg.of(PathRetractionStrategy.class, 154)); + add(GryoTypeReg.of(CountStrategy.class, 155)); + add(GryoTypeReg.of(RepeatUnrollStrategy.class, 156)); + add(GryoTypeReg.of(GraphFilterStrategy.class, 157)); + add(GryoTypeReg.of(LambdaRestrictionStrategy.class, 158)); + add(GryoTypeReg.of(ReadOnlyStrategy.class, 159)); + add(GryoTypeReg.of(MatchStep.CountMatchAlgorithm.class, 160)); + add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class, 167)); // skip 171, 172 to sync with tp33 - add(GryoTypeReg.of(VertexTraverserSet.class, 173)); // ***LAST ID*** + add(GryoTypeReg.of(IndexedTraverserSet.VertexIndexedTraverserSet.class, 173)); // ***LAST ID*** }}; }
