アプリでScriptEngineを使用して、アプリケーションのクライアントコードを評価しています。問題は、パフォーマンスが十分でないことであり、実行時間を改善するための対策を講じる必要があります。現在、基本的にURLのパラメータ置換である非常に単純なスクリプトを評価するには、最大1463ミリ秒(平均は約300ミリ秒)かかる場合があります。
スクリプト機能を失うことなく、このパフォーマンスを向上させるための簡単な戦略を探しています。
私が最初に考えたのは、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);
フィードバックをいただければ幸いです。