-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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 #3733 Fixes #3735 Fixes #2996 Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
- Loading branch information
Showing
32 changed files
with
2,172 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.
6e73ef4
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
14448.221230944444
ms/op20132.68260361965
ms/op0.72
org.janusgraph.GraphCentricQueryBenchmark.getVertices
1396.0177500724933
ms/op1617.8956294193085
ms/op0.86
org.janusgraph.MgmtOlapJobBenchmark.runClearIndex
221.18195505217392
ms/op222.76279991304347
ms/op0.99
org.janusgraph.MgmtOlapJobBenchmark.runReindex
467.2156776563637
ms/op541.8996275500001
ms/op0.86
org.janusgraph.JanusGraphSpeedBenchmark.basicCount
411.9777834992106
ms/op368.0788711730627
ms/op1.12
org.janusgraph.CQLMultiQueryBenchmark.getIdToOutVerticesProjection
425.0886989393221
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getElementsWithUsingEmitRepeatSteps
33721.92819198809
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getAllElementsTraversedFromOuterVertex
16939.769371643957
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getNeighborNames
16673.675699318654
ms/op19824.388658859913
ms/op0.84
org.janusgraph.CQLMultiQueryBenchmark.getVerticesWithDoubleUnion
626.635692786763
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getElementsWithUsingRepeatUntilSteps
18067.736305916
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getAdjacentVerticesLocalCounts
16971.690529527226
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getNames
16367.7759909025
ms/op19643.66567439762
ms/op0.83
org.janusgraph.CQLMultiQueryBenchmark.getVerticesFilteredByAndStep
666.589312380716
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getVerticesFromMultiNestedRepeatStepStartingFromSingleVertex
23044.72647966667
ms/oporg.janusgraph.CQLMultiQueryBenchmark.getVerticesWithCoalesceUsage
592.2298148586152
ms/opThis comment was automatically generated by workflow using github-action-benchmark.