performance जीडब्ल्यूटी होस्ट किए गए मोड/संकलन समयों में सुधार कैसे करें?



gwt hardware (1)

अधिकांश मामलों में मुझे धीमी संकलन / मेजबानी मोड ताज़ा करने का कारण आ गया है कि यह आवेदन इस तरह से लिखा गया है

संकलन के लिए निम्नलिखित के लिए कुछ चीजें हैं:

  • अप्रयुक्त वर्गों और मॉड्यूल को अपने क्लासपाथ में न रखें, यदि संभव हो तो उन्हें निकालें क्योंकि जीडब्ल्यूटी उन्हें किसी भी तरह पूर्वकंपल चरण पर पार्स कर रहा है
  • जीडब्ल्यूटी-आरपीसी प्रकार विस्फोट के लिए जो कुछ बाहर है, यह आमतौर पर सभी समस्याओं का कारण है
  • इंटरफ़ेस ContextWithLokup के साथ वास्तव में सावधान रहें, हमेशा इंटरफ़ेस में प्रयुक्त विधियों की संख्या को कम करने का प्रयास करें जो ContextWithLookup
  • कुछ अन्य संकलन विकल्पों को देखने की कोशिश करें, जैसे वितरित संकलन , मुलायम क्रमांतरण या बहु-जेवीएम संकलन (सिस्टम प्रॉपर्टी के साथ रन कंपाइलर- Dgwt.jjs.permutationWorkerFactory = com.google.gwt.dev.ExternalPermutationWorkerFactory और - स्थानीय वर्कर JVMs की संख्या को निर्दिष्ट करने के लिए )

होस्ट किए गए मोड के लिए:

  • आलसी लोडिंग का उपयोग करें जहां यह संभव है। होस्ट किए गए मोड के साथ सबसे बड़ी समस्या मैंने देखा, मैं यह आवेदन बहुत सारे वर्गों को प्रारंभ करने की कोशिश कर रहा हूं जो कि वर्तमान स्क्रीन पर भी उपयोग नहीं किए जाते हैं, यह एक होस्टेड मोड स्टार्टअप को बहुत तेज कर सकता है दोबारा, आरपीसी प्रकार विस्फोट की तरह सामान भी होस्ट मोड को प्रभावित करता है

यही मैं सलाह दे सकता हूं रैम डिस्क की तरह सामान जैसे -कंपाइल रिपोर्ट को गति प्रदान कर सकते हैं, क्योंकि यह बहुत बड़ी फ़ाइलों को उत्पन्न कर सकता है

काम पर हम कुछ बहुत शक्तिशाली मशीनों का उपयोग कर रहे हैं: एचपी जेड 600 डुअल एक्सऑन @ 2.5GHz, 8-16 जीबी रैम। दुर्भाग्य से दुर्भावनापूर्ण कंपनी की नीतियों के कारण हमें 32-बिट XP का उपयोग करने के लिए मजबूर किया जाता है, इसलिए मैंने अप्रयुक्त 4 जीबी रैम से पीएई रैमड्राइव बनाया।
अब, अस्थायी फ़ाइलें रैमड्राइव पर हैं मैंने पूरी परियोजना को रैमड्राइव में ले जाने का भी प्रयास किया है, फिर एक एसएसडी के लिए, लेकिन होस्टेड-मोड स्टार्टअप या संकलन समय में कोई सुस्पष्ट सुधार नहीं था।
मैंने फिर SysInternals प्रक्रिया मॉनिटर को चलाने के लिए देखा है कि कोई भी बाधाएं हैं जो कि कार्य प्रबंधक / हार्ड डिस्क गतिविधि के नेतृत्व में दिखाई नहीं दे रही हैं, लेकिन मैंने कुछ उल्लेख नहीं देखा है - कुछ बफर ओवरफ्लो को छोड़कर जो मुझे समझ में नहीं आता कि वे क्या हैं मतलब है।

मैं मान सकता हूँ कि OOMPH स्टार्टअप और जीडब्ल्यूटी संकलन के लिए प्रदर्शन बंधा हुआ है इसलिए मैं संकलन समय का उपयोग कर रहा हूं जैसा कि विभिन्न परिवर्तनों के बीच बेंचमार्किंग
मैंने BIOS में हाइपर-थ्रेडिंग और टर्बो-बूस्ट को सक्रिय और निष्क्रिय कर दिया है, लेकिन फिर से कोई मतभेद नहीं देखा। Hyperthreading भी सब कुछ धीमी बनाने के लिए लगता है, मुझे लगता है कि संदर्भ स्विचिंग जुर्माना 8 कोर के लिए 16 कोर के लिए अधिक है टर्बो को बढ़ावा देने के लिए कुछ भी नहीं लगता है, मुझे लगता है कि यह केवल Win7 के तहत काम करता है, मैं ड्राइवर को सक्रिय करने में सफल नहीं हुआ है। इसे 2.5Ghz से 2.8Ghz तक कोर को बढ़ावा देना चाहिए।
एनटीएफएस ड्राइव पर निष्क्रिय इंडेक्सिंग और टाइमस्टैम्पिंग ने अग्रभूमि से पार्श्व और पृष्ठभूमि में प्रदर्शन सेटिंग को बदल दिया, एक्लिप्स का एक अन्य उदाहरण - कोई बदलाव नहीं किया।
संकलन के लिए मैंने एक अलग संख्या में श्रमिकों को निर्दिष्ट करने की कोशिश की है, बड़ी मेमोरी और कुछ अन्य विकल्प दो श्रमिकों से ऊपर सब कुछ संकलन समय बढ़ाता है।
पुराने एचपी मशीन (एक्सडब्ल्यू 6600) थोड़ी तेज़ी से संकलित लगते हैं, शायद 2.8 गीगा की घड़ी की वजह से, लेकिन उनके होस्ट किए गए मोड धीमी गति से शुरू होने लगते हैं।

सारांश में, मेमोरी उपयोग 2.6 जीबी पर है, पेजफाइल का उपयोग शून्य है, हार्डड्राइव ज्यादा गतिविधि का संकेत नहीं दे रहा है, सीपीयू की गतिविधि <10% (लगभग 50-70% पर एकल कोर) है, लेकिन फिर भी कंप्यूटर कुछ के लिए कुछ नहीं कर रहा है OOMPH जीडब्ल्यूटी को संकलित या लॉन्च करने का समय।
ठीक है, अब जब मैंने इंटरनेट पर सब कुछ जानता था और पाया है, तो क्या ऐसा कुछ भी है जो मैं कोशिश कर सकता हूं? 64-बिट Win7 पर स्विच करने में बहुत अधिक सुधार होगा (यह अगले साल भी हो सकता है)? क्या कोई हार्डवेयर / सॉफ़्टवेयर विकल्प है जो मैं कर सकता हूँ?

LE: आरएटीटी (एमएस से ट्रैसर भी) चलाया गया, यह देखने के लिए कि क्या कोई भी व्यवधान बहुत लंबे समय तक ले रही है, लेकिन हर चीज क्रम में होती है एंटीवायरस एक अंतर नहीं है मेरे i7 मोबाइल (2630q) और आई 7 के खिलाफ एक और जीडब्ल्यूटी प्रोजेक्ट के बारे में करीब 70% तेज है, हालांकि इसमें एक ही घड़ी के बारे में है।





hardware