Я использую ScriptEngine в своем приложении для оценки кода клиента в своем приложении. Проблема в том, что он недостаточно эффективен, и мне нужно принять меры для улучшения времени исполнения. В настоящее время он может занимать до 1463 мс (в среднем около 300 мс), чтобы оценить чрезвычайно простой script, который в основном заменяет параметры в 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);
Любая обратная связь будет оценена!