You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "stephen mallette (JIRA)" <ji...@apache.org> on 2017/03/24 17:06:41 UTC

[jira] [Updated] (TINKERPOP-1095) Create a custom ScriptContext

     [ https://issues.apache.org/jira/browse/TINKERPOP-1095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stephen mallette updated TINKERPOP-1095:
----------------------------------------
    Attachment: allocations-before.png
                allocations-after.png
                gc-before.png
                gc-after.png

Attached JMC analysis of memory usage "before" - the head of tp32 and "after" the changes on TINKERPOP-1095. Note that there is less GC action and the reduction in {{byte[]}} allocations due to the internals of the {{SimpleScriptContext}}. The new {{GremlinScriptContext}} eliminates the unnecessary allocations basically.

> Create a custom ScriptContext
> -----------------------------
>
>                 Key: TINKERPOP-1095
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1095
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: groovy
>    Affects Versions: 3.1.0-incubating
>            Reporter: stephen mallette
>            Assignee: stephen mallette
>         Attachments: allocations-after.png, allocations-before.png, gc-after.png, gc-before.png
>
>
> The current {{ScriptContext}} in use with the {{ScriptEngine}} is the {{SimpleScriptContext}}.  It doesnt' allow for additional scopes which might be useful when dealing with the {{ScriptEnginePluginAcceptor}} which allows plugins to inject "global" bindings into the a {{ScriptEngine}} instance (e.g. the "hdfs" object with the hadoop plugin).
> We currently inject this into the {{GLOBAL_SCOPE}} of the {{ScriptEngine}} which at the moment doesn't seem to conflict with anything, but I wonder if more separation is required.
> Another alternative would be to manage these types of "globals" with new methods on the {{DependencyManager}} interface.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)