[
https://issues.apache.org/jira/browse/TINKERPOP-1349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15353698#comment-15353698
]
Marko A. Rodriguez commented on TINKERPOP-1349:
-----------------------------------------------
I don't know what you ran, but {{iterate()}} is smart to use
{{traversal.getEndStep()}} and thus doesn't unroll traversers like {{next()}}
does.
{code}
gremlin> graph = TinkerGraph.open()
==>tinkergraph[vertices:0 edges:0]
gremlin> graph.io(gryo()).readGraph('data/grateful-dead.kryo')
==>null
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:808 edges:8049], standard]
gremlin> g.getStrategies().removeStrategies(RepeatUnrollStrategy)
==>strategies[ConnectiveStrategy, RangeByIsCountStrategy,
IdentityRemovalStrategy, IncidentToAdjacentStrategy,
AdjacentToIncidentStrategy, FilterRankingStrategy, MatchPredicateStrategy,
TinkerGraphStepStrategy, ProfileStrategy, StandardVerificationStrategy]
gremlin> clock(5){g.V().repeat(out()).times(3).iterate()}
==>257.0513638
gremlin> clock(5){g.V().out().out().out().iterate()}
==>729.3921484
gremlin>
clock(5){g.V().out().barrier().out().barrier().out().barrier().iterate()}
==>9.738713
gremlin>
{code}
> RepeatUnrollStrategy should unroll loops while maintaining equivalent
> semantics.
> --------------------------------------------------------------------------------
>
> Key: TINKERPOP-1349
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1349
> Project: TinkerPop
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.2.0-incubating
> Reporter: Marko A. Rodriguez
> Assignee: Marko A. Rodriguez
> Fix For: 3.2.0-incubating
>
>
> Create {{RepeatUnrollStrategy}} that will unroll patterns such as:
> {code}
> repeat(out()).times(3)
> // ->
> out().barrier().out().barrier().out().barrier()
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)