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

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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.2.2
    • 3.2.3
    • benchmark, process, server
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: