[ https://issues.apache.org/jira/browse/TINKERPOP-1312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15302144#comment-15302144 ]
ASF GitHub Bot commented on TINKERPOP-1312: ------------------------------------------- Github user okram commented on the pull request: https://github.com/apache/incubator-tinkerpop/pull/320#issuecomment-221886983 When all is in place, can you provide a benchmark on Grateful Dead graph of some query in master/ vs. this branch and their runtimes? So to be certain its all as expected. Even provide a `explain()` of the traversal you are benchmarking so we see how it compiled? > .count().is(0) is not properly optimized > ---------------------------------------- > > Key: TINKERPOP-1312 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1312 > Project: TinkerPop > Issue Type: Improvement > Affects Versions: 3.2.0-incubating, 3.1.2-incubating > Reporter: Daniel Kuppitz > Assignee: Daniel Kuppitz > Fix For: 3.1.3, 3.2.1 > > > {{bla.count().is(0)}} gets optimized by {{RangeByIsCountStrategy}}, which > replaces it with {{bla.limit(1).count().is(0)}}. That's good, but we can do > even better by replacing it with {{__.not(bla)}}, which is a simple > {{.hasNext()}} instead of a {{RangeStep}} followed by a > {{ReducingBarrierStep}} ({{count()}}). > Question is: should we do the replacement in {{RangeByIsCountStrategy}}? The > strategy will recognize the pattern, no matter if we use it for the > replacement or not; it's just that the strategy name is then no longer in > line with the the actual replacement (for this particular {{.count().is(0)}} > case) as it won't inject a {{RangeStep}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)