С Java ScriptEngine (Groovy), как сделать его более производительным?
Я использую ScriptEngine в своем приложении, чтобы оценить некоторый клиентский код в моем приложении. Проблема в том, что он недостаточно эффективен, и мне нужно принять меры для улучшения времени исполнения. В настоящее время может потребоваться до 1463 мс (в среднем около 300 мс), чтобы оценить чрезвычайно простой скрипт, который в основном является заменой параметров в URL.
Я ищу простые стратегии для улучшения этой производительности, не теряя возможности сценариев.
Сначала я подумал о том, чтобы объединить объект ScriptEngine и использовать его повторно. Я вижу в спецификации, что он предназначен для повторного использования, но я не нашел никаких примеров того, как кто-то действительно делал это.
Есть идеи? Вот мой код:
ScriptEngineManager factory = new ScriptEngineManager();
GroovyScriptEngineImpl engine = (GroovyScriptEngineImpl)factory.getEngineByName("groovy");
engine.put("state", state;
engine.put("zipcode", zip);
engine.put("url", locationAwareAd.getLocationData().getGeneratedUrl());
url = (String) engine.eval(urlGeneratorScript);
Любая обратная связь будет оценена!