[ 
https://issues.apache.org/jira/browse/TINKERPOP-1682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409510#comment-16409510
 ] 

ASF GitHub Bot commented on TINKERPOP-1682:
-------------------------------------------

Github user dkuppitz commented on the issue:

    https://github.com/apache/tinkerpop/pull/621
  
    I saw a lot of queries recently, that would have benefited from this 
strategy's rewrites, that's why I wanted to get it into the 3.3 line. But if 
you prefer to wait, I'm fine with it.
    
    @robertdale Could you please post your full prettyPrint output? I have no 
idea where the difference is coming from. ByModulatorOptimizationStrategy is 
the longest strategy name in the list and thus it likely increased the width of 
the left column, but still, we should get the same output. Travis apparently 
also generates the same output that I get on my system 🤔


> by-modulator optimization strategy
> ----------------------------------
>
>                 Key: TINKERPOP-1682
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1682
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.4
>            Reporter: Daniel Kuppitz
>            Assignee: Daniel Kuppitz
>            Priority: Major
>
> The can be a significant difference in performance depending on whether you 
> use {{by(id)}} or {{by(id())}}:
> {noformat}
> gremlin> g.V().out().in().path().by(id()).profile()
> ==>Traversal Metrics
> Step                                                               Count  
> Traversers       Time (ms)    % Dur
> =============================================================================================================
> TinkerGraphStep(vertex,[])                                             6      
>      6          12.137    58.03
> VertexStep(OUT,vertex)                                                 6      
>      6           1.345     6.43
> VertexStep(IN,vertex)                                                 12      
>     12           0.861     4.12
> PathStep([[IdStep, ProfileStep]])                                     12      
>     12           6.570    31.42
>   IdStep                                                              36      
>     36           0.452
>                                             >TOTAL                     -      
>      -          20.916        -
> gremlin> g.V().out().in().path().by(id).profile()
> ==>Traversal Metrics
> Step                                                               Count  
> Traversers       Time (ms)    % Dur
> =============================================================================================================
> TinkerGraphStep(vertex,[])                                             6      
>      6           0.876    11.54
> VertexStep(OUT,vertex)                                                 6      
>      6           0.714     9.40
> VertexStep(IN,vertex)                                                 12      
>     12           3.299    43.43
> PathStep([id])                                                        12      
>     12           2.706    35.63
>                                             >TOTAL                     -      
>      -           7.596        -
> {noformat}
> We should have a strategy that rewrites these simple patterns. This affects 
> {{id()}}, {{label()}}, {{key()}}, {{value()}}, but also 
> {{by(values("name"))}}, which can be rewritten as {{by("name")}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to