2009-08-07 9 views
7

क्या सॉफ्टवेयर इंजीनियर/कंप्यूटर साइंस के कोई विशिष्ट क्षेत्र हैं जहां 64 बिट सिस्टम के विकास के दौरान एक महत्वपूर्ण अंतर है? मैं अब लगभग 10 वर्षों के लिए कोडिंग कर रहा हूं, और 64 बिट सिस्टम के ब्रेक के बाद से, मेरा कोड एक बिट नहीं बदला है।64 बिट सिस्टम का लाभ उठाने के लिए कैसे विकसित करें?

एक ही कोडर के रूप में कोड करने वाले एक कोडर को 64 बिट तकनीक का उपयोग करने की आवश्यकता होती है?

उत्तर

7

कुछ भी जो 4 जीबी से अधिक काम करने और प्रोग्राम मेमोरी की आवश्यकता है, निश्चित रूप से योग्य होगा, क्योंकि यह 32 बिट सिस्टम सीधे पता कर सकता है कि स्मृति की अधिकतम मात्रा है।

चूंकि 64 बिट संख्या CPU रजिस्टरों में रह सकती है, इसलिए इन आकारों की संख्या की आवश्यकता वाले गणना में प्रदर्शन सुधार दिखाई देगा।

2

हमने हाल ही में हमारे कुछ आंतरिक रूप से उपयोग की जाने वाली पुस्तकालयों को 64-बिट पर पोर्ट किया है। सी कोड बिल्कुल नहीं बदला; हमें बस तीसरे पक्ष के पुस्तकालयों के 64-बिट संस्करणों को प्राप्त करना पड़ा जिन्हें हम लिंक करते हैं और यह पता लगाने के लिए कि कौन से नए कंपाइलर निर्देशों का उपयोग करने की आवश्यकता है। सबसे बड़ा सिरदर्द हमारी निर्भरताओं के 64-बिट संस्करणों को ढूंढ रहा था और 32-बिट और 64-बिट दोनों को संभालने के लिए हमारी बिल्ड सिस्टम को रीफैक्टर कर रहा था।

यह कहना नहीं है कि अन्य सॉफ़्टवेयर में संशोधन की आवश्यकता नहीं होगी। उदाहरण के लिए, यदि आप शब्द सीमाओं के भीतर फिट करने के लिए अपना डेटा पैक करते हैं, तो अब आप 64-बिट सिस्टम के लिए प्रोग्रामिंग करते समय इसे अलग-अलग पैक करने के इच्छुक हो सकते हैं।

2

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

अनजाने में, 32 बिट SQL सर्वर से 64 बिट SQL सर्वर (2005) से उसी हार्डवेयर (64 बिट मशीन) पर अपग्रेड करते समय हमने प्रदर्शन वृद्धि देखी।

0

यदि आपको पूछने की ज़रूरत है, तो आपको शायद कोई फायदा नहीं मिलेगा, क्योंकि आप शायद अपने कोड में इंक के आकार के बारे में कोई धारणा नहीं बना रहे हैं। इसके बजाय कुछ उपयोग के मामलों, और सभी काफी कम स्तर, किसी भी speedup देखेंगे। बहुत बड़ी संख्याओं पर बिग्नम और भारी पूर्णांक अंकगणित जल्दी (क्रिप्टो की तरह) होगा।

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