You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Marko A. Rodriguez (JIRA)" <ji...@apache.org> on 2016/09/12 15:33:20 UTC
[jira] [Created] (TINKERPOP-1444) Benchmark bytecode->Traversal
creation and implement GremlinServer cache if necessary.
Marko A. Rodriguez created TINKERPOP-1444:
---------------------------------------------
Summary: 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)