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

Jeremy Hanna commented on TINKERPOP-1444:
-----------------------------------------

It seems like this would be very similar to prepared statement cache - having 
an id or hash of the bytecode to get to the equivalent traversal - presuming 
like you say we parameterize them.  cc [~newkek]

> Benchmark bytecode->Traversal creation and implement GremlinServer cache if 
> necessary.
> --------------------------------------------------------------------------------------
>
>                 Key: TINKERPOP-1444
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1444
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: benchmark, language-variant, process, server
>    Affects Versions: 3.2.2
>            Reporter: Marko A. Rodriguez
>
> Right now, when you send {{Bytecode}} to GremlinServer, it will convert the 
> bytecode to a traversal either via Java reflection (Gremlin-Java) or script 
> engine evaluation (e.g. Gremlin-Groovy, Gremlin-Python).
> We should see how fast the process is to go from Bytecode to Traversal and if 
> its "slow" we should create a {{Map<Bytecode,Traversal>}}-cache in 
> GremlinServer.
> The reasons it may be "slow" are:
> 1. {{JavaTranslator}} uses Java reflection to translate bytecode to traversal 
> and that code is a little "thick" and either should be optimized (if 
> possible) or, instead, bytecode/traversal translations should be cached.
> 2. {{Groovy/PythonTranslator}} uses string construction to generate a script 
> from the bytecode. While that script may be cached, it would be good if we 
> have a cache prior to that which simply just grabs the traversal from a 
> bytecode cache.
> I think that we will definitely want a cache as it should make things fast, 
> but it will be good to know how much faster prior to diving into such work.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to