Add a cache for pre-compiled scripts
------------------------------------
Key: SLING-913
URL: https://issues.apache.org/jira/browse/SLING-913
Project: Sling
Issue Type: New Feature
Components: Scripting
Affects Versions: Scripting Core 2.0.2
Reporter: Felix Meschberger
The Java Scripting API provides support for scripting langugages which may
precompile script source and reuse the precompiled scripts:
javax.script.Compilable: May be implemented by a ScriptEngine if
precompilation is
supported
javax.script.CompiledScript: Result of calling the Compilable.compile method.
The CompiledScript can be called to repeatedly execute the script without the
need for recompilation and thus for improved performance.
The Sling Core Scripting support should make use of this functionality by
maintaining a cache compiled scripts with the following properties
* indexed by script path
* size limited (using LinkedHashMap overwriting the removeEldestEntry method)
* entries are weak or soft references ot cache entries
A cache entry consists of the following information:
* The CompiledScript instance
* The time of last compilation. this is compared to the last modification
time of the script to decide on whether to recompile
We might probaly also try to add a reference to the script engine
implementation bundle to only use the cache entry if the bundle has not been
stopped since adding the cache entry
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.