[
https://issues.apache.org/jira/browse/TINKERPOP-3009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17781853#comment-17781853
]
Stephen Mallette commented on TINKERPOP-3009:
---------------------------------------------
Worth noting that you can disable the added filtering with
{{checkAdjacentVertices:false}}:
{code}
gremlin> g.withStrategies(new
SubgraphStrategy(checkAdjacentVertices:false,vertices: __.has("name",
P.within("josh", "lop", "ripple")))).V().out().profile()
==>Traversal Metrics
Step Count
Traversers Time (ms) % Dur
=============================================================================================================
TinkerGraphStep(vertex,[name.within([josh, lop,... 3
3 0.186 38.43
VertexStep(OUT,vertex) 2
2 0.251 51.66
HasStep([name.within([josh, lop, ripple])]) 2
2 0.048 9.91
>TOTAL -
- 0.486 -
{code}
As long as you aren't concerned about potentially traversing edges that may
lead to vertices that might be filtered that setting should be needed.
> SubgraphStrategy produces excessive filtering when multiple labels are
> filtered upon
> ------------------------------------------------------------------------------------
>
> Key: TINKERPOP-3009
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3009
> Project: TinkerPop
> Issue Type: Bug
> Components: process
> Affects Versions: 3.6.2
> Reporter: Brian O'Keefe
> Priority: Critical
>
> See the example profile below. Notice the traversal includes _has _filters
> everywhere repeatedly applied for vertices which are already filtered before
> too.
> {noformat}
> gremlin> g.withStrategies(SubgraphStrategy.build().
> ......1> vertices(hasLabel('x','y','z')).create()).
> ......2> V().out().profile()
> ==>Traversal Metrics
> Step Count
> Traversers Time (ms) % Dur
> =============================================================================================================
> TinkerGraphStep(vertex,[~label.within([x, y, z])])
> 0.160 58.50
> VertexStep(OUT,edge)
> 0.017 6.53
> AndStep([[EdgeVertexStep(IN), HasStep([~label.w...
> 0.017 6.19
> EdgeVertexStep(IN)
> 0.000
> HasStep([~label.within([x, y, z])])
> 0.000
> EdgeVertexStep(OUT)
> 0.000
> HasStep([~label.within([x, y, z])])
> 0.000
> EdgeVertexStep(IN)
> 0.064 23.59
> HasStep([~label.within([x, y, z])])
> 0.014 5.18
> >TOTAL -
> - 0.274 -
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)