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)