[
https://issues.apache.org/jira/browse/TINKERPOP3-331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14651918#comment-14651918
]
Matt Frantz commented on TINKERPOP3-331:
----------------------------------------
At the finest level of granularity, you would identify the traverser that each
step needs, although some requirements (like {{PATH}}) are sticky by nature.
Whenever you cross a "requirements boundary", you could insert the step to
regenerate the traverser. For example, each child traversal is a potential
conversion boundary. How do you balance the performance penalty of
requirements thrashing against the benefit of exactly meeting the requirements
of each subtraversal?
> TraverserConverterStep (proposal)
> ---------------------------------
>
> Key: TINKERPOP3-331
> URL: https://issues.apache.org/jira/browse/TINKERPOP3-331
> Project: TinkerPop 3
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.0.0-incubating
> Reporter: Marko A. Rodriguez
> Assignee: Marko A. Rodriguez
>
> Different {{Traverser}} implementations have different memory requirements
> and "bulkability." Once the memory of a {{Traverser}} is no longer needed,
> then it should be converted to a simpler form.
> {code}
> g.V.as('x').out.jump('x',3).simplePath.out('knows').age.groupCount
> |______________________________________||_________________________|
> PathTraverser SimpleTraverser
> {code}
> A {{TraverserConverterStrategy}} should insert a {{TraverserConverterStep}}
> after {{simplePath()}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)