[
https://issues.apache.org/jira/browse/TINKERPOP-1444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15488103#comment-15488103
]
Marko A. Rodriguez commented on TINKERPOP-1444:
-----------------------------------------------
Just realized that caching is only good for {{Bytecode}} that doesn't have
bindings. Once a traversal is constructed and the bindings applied, then the
Traversal with a=2 is different than the traversal from the bytecode where a=7.
Doh. Well, I still say make a cache and if you have a binding hit, great or if
a traversal doesn't have bindings, great........ That or figure out how to make
{{JavaTranslator}} and its insane-o reflection code more efficient.
> 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)