अनुकूलित टूलचेन का महत्व एंड्रॉइड विकास जगत में सबसे चर्चित विषयों में से एक है। आप में से कई लोगों ने जीसीसी और लिनारो के बारे में सुना होगा, जो इस प्रकार की दो सबसे बड़ी परियोजनाएं हैं। जीसीसी एक पुराना हैंड है जिसे शुरुआत में 1987 में रिलीज़ किया गया था, जबकि लिनारो केवल चार साल की उम्र में अपेक्षाकृत युवा खिलाड़ी है।
आइए सबसे पहले इन दो परियोजनाओं के इतिहास पर गौर करें। जैसा कि मैंने पहले कहा, जीएनयू कंपाइलर कलेक्शन पुराना है। वर्षों से, इसका उपयोग एंड्रॉइड सहित विभिन्न परियोजनाओं को संकलित करने के लिए किया गया है। Google ने संस्करण 4.6 और 4.7 को अपनी डिफ़ॉल्ट टूलचेन के रूप में उपयोग करने का निर्णय लिया है, और मैं परीक्षणों की इस श्रृंखला में संस्करण 4.7 पर ध्यान केंद्रित करना चाहूंगा।
लिनारो को 2010 में लॉन्च किया गया था, और इसे एआरएम आर्किटेक्चर के लिए अनुकूलित किया गया है। और निश्चित रूप से, एआरएम का उपयोग अधिकांश एंड्रॉइड-संचालित स्मार्टफोन और टैबलेट में किया जाता है। आप लिनारो को कर्नेल या संपूर्ण रोम को संकलित करने के लिए उपयोग की जाने वाली टूलचेन के रूप में पा सकते हैं, और कई डेवलपर्स का दावा है कि यह टूलचेन जीसीसी की तुलना में तेज़ और अधिक शक्तिशाली है।
हमारे डेवलपर एडमिन पल्सर_जी2 से प्रेरित होकर, मैंने इस मिथक को आजमाने और यह देखने का फैसला किया कि क्या ये दावे वास्तविक हैं। ऐसा करने के लिए, मैंने सबसे पहले AOSP स्रोत डाउनलोड किया। मैंने एक बनाया aosp_mako-eng Google से प्रीबिल्ट के डिफ़ॉल्ट सेट का उपयोग करके मेरे Nexus 4 के लिए लक्ष्य। बाद ओटपैकेज बनाओ, मुझे 183115481-बाइट ज़िप फ़ाइल फ़्लैश करने के लिए तैयार मिली। इसके बाद, मैंने लिनारो 4.7.4 टूलचेन डाउनलोड किया और जीसीसी को इसमें बदल दिया प्रीबिल्ट्स/जीसीसी/लिनक्स-86. मैंने अनुकूलन के स्तर O3 को सेट करने के लिए आवश्यक परिवर्तन किए। चूँकि AOSP केवल पूर्वनिर्मित कर्नेल (संशोधनों के बिना) का समर्थन करता है, मैंने लिनारो के साथ स्वयं एक कर्नेल बनाया और मेको-कर्नेल में कर्नेल को अपने स्वयं के ब्लॉब से बदल दिया।
नीचे आप दो परिणामी अभिलेख देख सकते हैं। जैसा कि आप देख सकते हैं, लिनारो संग्रह थोड़ा बड़ा है, इसलिए यह टूलचेन वास्तव में बिन और एक्सबिन फ़ोल्डरों के लिए कुछ करता है। कर्नेल फ़ाइल स्वयं भी बड़ी है.
लेकिन फ़ाइल का आकार सबसे महत्वपूर्ण चीज़ नहीं है. इसके बजाय, आइए प्रदर्शन पर ध्यान केंद्रित करें। इसे मापने के लिए, मैंने AnTuTu बेंचमार्क का उपयोग किया। अधिक सटीकता के लिए, मैंने प्रत्येक परीक्षण को तीन बार चलाया। जैसा कि आप नीचे देख सकते हैं, अंतर काफी बड़ा है। हालाँकि, मैं इन परीक्षणों पर बहुत अधिक अंधविश्वास नहीं करूँगा, क्योंकि हर परीक्षण के परिणाम अलग-अलग होते हैं। जैसा कि कहा गया है, लिनारो जीसीसी से कुछ अंक बेहतर था लेकिन AnTuTu उतना विश्वसनीय नहीं है जितना आप सोच सकते हैं।
जीसीसी
लिनारो
यह देखने के लिए कि क्या टूलचेन ग्राफिक्स के प्रदर्शन को प्रभावित कर सकता है, निम्नलिखित परीक्षण 3DMark के साथ किए गए थे। अंतर अंतुतु से भी अधिक महत्वपूर्ण था। आप जीसीसी के साथ कुछ एफपीएस प्राप्त कर सकते हैं, लेकिन लिनारो के साथ समग्र सहजता बेहतर है। स्कोर भी थोड़ा ज्यादा है.
जीसीसी
लिनारो
अंतिम परीक्षण डामर 8: एयरबोर्न गेम का उपयोग करके चलाया गया था। नीचे आप दोनों टूलचेन पर चल रहे गेम के दो वीडियो देख सकते हैं। पहला लिनारो के साथ बनाया गया था, जबकि दूसरा जीसीसी के साथ बनाया गया था। व्यक्तिगत रूप से, मुझे लगता है कि लिनारो जीसीसी की तुलना में थोड़ा सहज महसूस करता है, लेकिन यह सिर्फ प्लेसबो प्रभाव हो सकता है क्योंकि यह डबल-ब्लाइंड परीक्षण नहीं था। दोनों कर्नेल स्टॉक थे और प्रदर्शन को बेहतर बनाने के लिए बदलाव, ओवरक्लॉकिंग और किसी भी अन्य फैंसी बदलाव से मुक्त थे।
//www.youtube.com/embed/BZRZenaNr9A
तो क्या लिनारो बेहतर है?
हालाँकि मुझे पहले संदेह था, मुझे यह स्वीकार करना होगा कि लिनारो कम से कम मेरे हार्डवेयर कॉन्फ़िगरेशन पर जीसीसी से बेहतर विकल्प लगता है। जब इसे GCC का उपयोग करके बनाया गया था तब की तुलना में OS अधिक प्रतिक्रियाशील और तेज़ लगा। हालाँकि, जीसीसी अभी भी पूरी तरह से ठोस है, इसलिए यदि आपको परम स्थिरता की आवश्यकता है, तो यह अभी भी सबसे अच्छा विकल्प हो सकता है।
अगले एपिसोड में, मैं अन्य टूलचेन जैसे सेबरमॉड और लिनारो 4.8 की तुलना करने का प्रयास करूंगा। कृपया हमें नीचे टिप्पणी में अपनी पसंदीदा टूलचेन के बारे में बताएं। और यदि आप चाहते हैं कि हम किसी अन्य टूलचेन का परीक्षण करें, तो कृपया ऐसा कहें!