forked from JanusGraph/janusgraph
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revamp JanusGraphMultiQueryStrategy for better parent step usage [cql…
…-tests] [tp-tests] This commit improves JanusGraphMultiQueryStrategy to better support multi-query compatible parent steps. 1. This commit brings better support for `repeat` step by introducing next itaration registration process. Previously `repeat` children steps was getting traversers registered from the beginning of all outer repeat steps which could result in duplicate or unnecesary retrievals for the first batch. Moreover, next iterations were not considered. This commit changes the approach to bring different `repeat` step modes which can change the batches registration behaviour to aacount only the closest `repeat` step, all `repeat` steps, all only starts of all `repeat` steps. 2. This commit adds support to almost all known TinkerPop Parent steps. The exception is `match` step. We didn't have proper outter start registration for `match` step previously and now as well. Fixes JanusGraph#3733 Fixes JanusGraph#3735 Fixes JanusGraph#2996 Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
- Loading branch information
Showing
32 changed files
with
2,156 additions
and
238 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
243f328
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
org.janusgraph.JanusGraphSpeedBenchmark.basicAddAndDelete
19105.10909745272
ms/op14592.350329134762
ms/op1.31
org.janusgraph.GraphCentricQueryBenchmark.getVertices
1668.6079077809663
ms/op1410.712796988719
ms/op1.18
org.janusgraph.MgmtOlapJobBenchmark.runClearIndex
223.7971699881423
ms/op220.4986067826087
ms/op1.01
org.janusgraph.MgmtOlapJobBenchmark.runReindex
526.3214397733334
ms/op463.4839651230303
ms/op1.14
org.janusgraph.JanusGraphSpeedBenchmark.basicCount
509.9142346807312
ms/op435.58338127635653
ms/op1.17
org.janusgraph.CQLMultiQueryBenchmark.getIdToOutVerticesProjection
523.3423877618143
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getElementsWithUsingEmitRepeatSteps
39845.846578744764
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getAllElementsTraversedFromOuterVertex
19402.99690655547
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getNeighborNames
19219.40245575752
ms/op35025.41079112
ms/op0.55
org.janusgraph.CQLMultiQueryBenchmark.getVerticesWithDoubleUnion
757.7447462811909
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getElementsWithUsingRepeatUntilSteps
20709.449007592877
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getAdjacentVerticesLocalCounts
20208.885311016602
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getNames
18897.165108622354
ms/op35580.854839073334
ms/op0.53
org.janusgraph.CQLMultiQueryBenchmark.getVerticesFilteredByAndStep
846.7231451612253
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getVerticesFromMultiNestedRepeatStepStartingFromSingleVertex
25174.514187602144
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getVerticesWithCoalesceUsage
727.1185936997408
ms/opThis comment was automatically generated by workflow using github-action-benchmark.