[ 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)