Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/470 I ran a benchmark: **BRYN'S BRANCH** ``` gremlin> graph = TinkerGraph.open() ==>tinkergraph[vertices:0 edges:0] gremlin> graph.io(gryo()).readGraph('data/grateful-dead.kryo') ==>null gremlin> h = graph.traversal() ==>graphtraversalsource[tinkergraph[vertices:808 edges:8049], standard] gremlin> g = graph.traversal().withoutStrategies(LazyBarrierStrategy.class) ==>graphtraversalsource[tinkergraph[vertices:808 edges:8049], standard] gremlin> gremlin> clock(100){ h.V().out().out().out().toSet() } ==>5.142378699999999 gremlin> clock(20){ g.V().out().out().out().toSet() } ==>778.8892011 gremlin> clock(20){ g.V().out().flatMap(out()).flatMap(out()).toSet() } ==>1234.6360252 gremlin> clock(100){ g.V().repeat(out()).times(3).toSet() } ==>2.2864299399999997 gremlin> clock(100){ h.V().count() } ==>0.01190773 ``` **MASTER BRANCH** ``` gremlin> graph = TinkerGraph.open() ==>tinkergraph[vertices:0 edges:0] gremlin> graph.io(gryo()).readGraph('data/grateful-dead.kryo') ==>null gremlin> h = graph.traversal() ==>graphtraversalsource[tinkergraph[vertices:808 edges:8049], standard] gremlin> g = graph.traversal().withoutStrategies(LazyBarrierStrategy.class) ==>graphtraversalsource[tinkergraph[vertices:808 edges:8049], standard] gremlin> gremlin> clock(100){ h.V().out().out().out().toSet() } ==>3.2528534 gremlin> clock(20){ g.V().out().out().out().toSet() } ==>701.7937965499999 gremlin> clock(20){ g.V().out().flatMap(out()).flatMap(out()).toSet() } ==>1374.86072635 gremlin> clock(100){ g.V().repeat(out()).times(3).toSet() } ==>2.4810170499999997 gremlin> clock(100){ h.V().count() } ==>0.01866702 ``` The reason for the `withoutStrategies(LazyBarrierStrategy)` is that I wanted to test lots and lots of results and thus, test the cost of the added `try/catch`-block. I guess the costs are neglible (?? what do others think ??). Also, @bryncooke, can you provide an example of master/ vs. your branch of when its good to get a `NoSuchElementException`? When I do: ``` gremlin> g.V().out().values('age').next() java.util.NoSuchElementException Type ':help' or ':h' for help. Display stack trace? [yN]y java.util.NoSuchElementException at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.next(DefaultTraversal.java:194) ... ``` ...all I learn is that the traversal `next()` method couldn't find anything. But that is obvious. When is it NOT obvious?
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---