[ 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)