]> git.basschouten.com Git - openhab-addons.git/commit
[jsscripting] Improve performance & reduce memory usage (#14113)
authorFlorian Hotze <florianh_dev@icloud.com>
Fri, 30 Dec 2022 22:34:35 +0000 (23:34 +0100)
committerGitHub <noreply@github.com>
Fri, 30 Dec 2022 22:34:35 +0000 (23:34 +0100)
commit23cfec768470bd0ed13dc4197d4cc41bed5747d7
tree9b40b972f4ce5de020e44cb8794ff7b834d31485
parent931f004ab84d2974b4b36be7fb22619e80387d88
[jsscripting] Improve performance & reduce memory usage (#14113)

* [jsscripting] Share org.graalvm.polyglot.Engine across all OpenhabGraalJSScriptEngine instances

See https://github.com/oracle/graaljs/issues/121#issuecomment-880056648, it is not required to have one engine per GraalJSScriptEngine.

This might improve performance a bit on less powerful systems (Raspberry Pi) and decreases heap usage:
With 5 GraalJS UI scripts, heap usage is now below 100 MB. Before this change, it was over 100 MB.

* [jsscripting] Extend debug logging
* [jsscripting] Cache `@jsscripting-globals.js` across all engines

Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
bundles/org.openhab.automation.jsscripting/src/main/java/org/openhab/automation/jsscripting/internal/OpenhabGraalJSScriptEngine.java