Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-1444

Benchmark bytecode->Traversal creation and implement GremlinServer cache if necessary.

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.2.2
    • Fix Version/s: 3.2.3
    • Component/s: benchmark, process, server
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                okram Marko A. Rodriguez
                Reporter:
                okram Marko A. Rodriguez
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: