2009-06-21 7 views
17

मैं वर्तमान में एंड्रॉइड मंच पर एक पेपर लिख रहा हूं। कुछ research के बाद, यह स्पष्ट है कि दलविक के पास सुधार के लिए जगह है। मैं सोच रहा था, आपको लगता है कि इस लक्ष्य के साथ डेवलपर के समय का सबसे अच्छा उपयोग क्या होगा?आप दलविक को कैसे सुधारेंगे? एंड्रॉइड की वर्चुअल मशीन

जेआईटी संकलन बड़ा लगता है, लेकिन फिर मैंने यह भी सुना है कि यह कम संसाधन मशीन पर सीमित उपयोग होगा। क्या किसी के पास कोई संसाधन या डेटा है जो इसका बैक अप लेता है?

क्या कोई अन्य विकल्प माना जाना चाहिए? वीएम को बाईपास करने के लिए एक मजबूत देशी विकास किट विकसित करने के अलावा।

रुचि रखने वालों के लिए, एक व्याख्यान है जिसे Dalvik VM के बारे में ऑनलाइन दर्ज किया गया है और ऑनलाइन रखा गया है।

कोई भी विचार स्वागत है, क्योंकि इस प्रश्न व्यक्तिपरक दिखाई देता है, मैं स्पष्ट करता हूं कि जो उत्तर मैं स्वीकार करूंगा, उसके पास प्रस्तावित परिवर्तनों के लिए कुछ औचित्य होना चाहिए। इसे वापस करने के लिए कोई भी डेटा, जैसे सूर्य जेवीएम में सुधार होने पर सुधार, एक बड़ा प्लस होगा।

+1

आप एक पेपर में कैसे कह सकते हैं: "यह स्पष्ट है कि दल्विक के पास सुधार के लिए जगह है" यह जानने के बिना कि कमरे क्या हैं। जेआईटी संकलन को दूर करना बहुत अधिक है: सभी व्याख्या की गई भाषा से इसका फायदा होगा। आपने और क्या देखा? –

+0

क्षमाप्रार्थी, मुझे और स्पष्ट करना चाहिए था। सबसे पहले, जब मैं पेपर कहता हूं, यह मेरे पेपर के लिए प्रारंभिक है और इसलिए प्रकाशित थीसिस के रूप में औपचारिक होने की आवश्यकता नहीं है। दूसरा, यदि आप उपरोक्त पाठ में शोध लिंक पर क्लिक करते हैं तो आप मेरे कुछ शुरुआती परिणामों को देखेंगे। मुझे जो मिल रहा है वह यह है कि डाल्विक मूल कोड के जितना तेज़ है, डेस्कटॉप पर जेवीएम की तुलना में, सुधार के लिए जगह है। इसके अलावा दल्विक वीएम टॉक, ऊपर दिए गए अन्य लिंक को देखते हुए, डिजाइनरों ने स्वीकार किया कि प्रदर्शन इष्टतम नहीं है। मुझे अभी तक अनुकूलन के लिए कुछ विचार पसंद नहीं हैं जिन्हें अभी तक डाल्विक – gav

+0

पर लागू नहीं किया गया है, जो आज इस प्रश्नोत्तर को देख रहे हैं और सोचते हैं कि एंड्रॉइड/डाल्विक के पुराने संस्करणों में जेआईटी नहीं था। एंड्रॉइड 2.2 ने दलविक के लिए जेआईटी की शुरुआत की। एंड्रॉइड 2.1 में सोर्स कोड में था लेकिन उत्पादन के निर्माण में अक्षम था। – HRJ

उत्तर

18
  1. बेहतर कचरा संग्रहण: (स्मृति विखंडन समस्याओं आज अनुभव को खत्म करने) कम से कम संकुचित, आदर्श कम CPU संग्रह ही कर रही है (कम करने के लिए "मेरे खेल फ्रेम दरों चूसना" शिकायतों)
  2. JIT पर गहन, के रूप में आप
  3. पर्याप्त प्रलेखन है कि, जब एक NDK के साथ मिलकर, किसी को पर्याप्त रूप से पागल Dalvik बाईटकोड मूल कोड के लिए एक AOT संकलन विकल्प के लिए संकलन सकता है का हवाला देते
  4. यह Android ही है, से पृथक करने ऐसी है कि अन्य परियोजनाओं में यह के साथ प्रयोग कर सकते हैं करते हैं और सामुदायिक योगदान अधिक मात्रा में और एक तेज क्लिप पर पहुंच सकता है

मुझे यकीन है कि यदि आपको उनकी आवश्यकता हो तो मैं अन्य विचारों को आ सकता हूं।

0

डाल्विक के साथ मुख्य समस्याओं में से एक प्रदर्शन है, जो मैंने सुना है, लेकिन मुझे सबसे ज्यादा पसंद है, और अधिक भाषाओं में से एक है।

जेवीएम में पाइथन और रूबी मंच पर चल रही सामुदायिक परियोजनाएं हैं, और यहां तक ​​कि स्कैला, ग्रोवी और क्लोजर जैसी विशेष भाषाएं भी विकसित हुई हैं। Dalvik मंच पर इन (और/या दूसरों) को भी देखना अच्छा लगेगा। सूर्य दा विंची मशीन पर भी काम कर रहा है, जो कि जेवीएम का एक गतिशील टाइपिंग एक्सटेंशन है, जो पिछले 15 वर्षों में "एक भाषा फिट बैठता है" दर्शन से दूर एक प्रमुख बदलाव को इंगित करता है।

+0

एंड्रॉइड अब स्क्रिप्टिंग भाषा के लिए समर्थन है। यह ज्यादा नहीं है, लेकिन इसमें सुधार होगा: http://stackoverflow.com/questions/101754/is-there-any-way-to-run-python-on-android। –

3
  1. जेआईटी। इसके बारे में सामान मदद नहीं कर रहा है बकवास का एक भार है। आप जेआईटी के कोड के बारे में अधिक चुनिंदा हो सकते हैं लेकिन मूल कोड का प्रदर्शन 1/10 वें होने पर हमेशा

  2. डीसेंट जीसी सीमित हो रहा है। आधुनिक पीढ़ी के कचरा कलेक्टरों में बड़े स्टटर नहीं होते हैं।

  3. बेहतर कोड विश्लेषण। ऐसे कई मामले हैं जहां आवंटन/मुक्त करने की आवश्यकता नहीं है, ताले लगाए गए हैं, और इसी तरह। यह आप के बजाय साफ कोड कर अनुकूलन मशीन है कि लिखने के लिए अनुमति देता है

उच्च स्तर भाषाओं के सबसे सिद्धांत रूप में में बेहतर (जावा, जावास्क्रिप्ट, अजगर, ...) ज्यादातर मामलों के लिए मूल कोड प्रदर्शन के 20% के भीतर होना चाहिए। लेकिन इसके लिए मंच विक्रेता को 100 के + डेवलपर मैन साल खर्च करने की आवश्यकता है। सूर्य जावा अच्छा हो रहा है। वे 10 वर्षों तक भी इस पर काम कर रहे हैं।

+4

आपका अंतिम बिंदु एक स्थापित कोड बेस के साथ शुरू करने के बजाय Dalvik लिखने के चयन के मौलिक डिजाइन दोष को दर्शाता है। यदि उन्होंने मोनो चुना है, तो वे अब प्लेटफॉर्म के रूप में कहां से आगे होंगे। –

संबंधित मुद्दे