मैं अपने ऐप में कुछ क्लाइंट कोड का मूल्यांकन करने के लिए अपने ऐप में स्क्रिप्टइंजिन का उपयोग कर रहा हूं। समस्या यह है कि यह पर्याप्त प्रदर्शन नहीं है और मुझे निष्पादन के समय में सुधार करने के लिए उपाय करने की आवश्यकता है। वर्तमान में, इसमें 1463ms (औसत 300ms है) को एक बेहद सरल स्क्रिप्ट को निकालने में लग सकता है जो मूल रूप से यूआरएल में पैरामीटर प्रतिस्थापन है।जावा स्क्रिप्टइंजिन (ग्रोवी) के साथ, इसे और अधिक प्रदर्शन करने के लिए कैसे?
मैं स्क्रिप्टिंग क्षमता खोए बिना इस प्रदर्शन को बेहतर बनाने के लिए सरल रणनीतियों की तलाश में हूं।
मेरी पहली बार यह स्क्रिप्टइंजिन ऑब्जेक्ट को पूल करने और इसे पुन: उपयोग करने के लिए सोचा था। मैं कल्पना में देखता हूं कि इसका पुन: उपयोग किया जाना है, लेकिन मुझे वास्तव में ऐसा करने वाले किसी भी उदाहरण का कोई उदाहरण नहीं मिला है।
कोई विचार?
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);
किसी भी प्रतिक्रिया की सराहना की जाएगी: यहाँ मेरी कोड है!
ओह, यह एक अच्छा विचार है! मैं आगे बढ़ गया हूं और स्क्रिप्टइंजिन को कॉमन्स-पूल के साथ पूल किया है। बीमार अब आगे बढ़ो और precompile। धन्यवाद! – matsientst