2012-01-08 5 views
15

मैंने अभी देखा है कि उदाहरण के अनुसार क्रोम जैसे प्रसिद्ध एप्लिकेशन में कम से कम 64 संस्करण नहीं थे।क्या 64 बिट मोड पर चल रहे सी ++ विकासशील अनुप्रयोग होने के कोई बड़े फायदे हैं?

मेरी फर्म में मैं 32 बिट्स मोड में विंडोज़ के 64 बिट्स संस्करण के तहत चलने वाले एप्लिकेशन लिखता हूं।

मैं सोच रहा हूँ अगर मैं 64 बिट्स मोड में के बजाय 32 बिट

संपादित में अनुप्रयोगों के निर्माण के कुछ फायदे/प्रदर्शन लाभ हो सकता है:

आमतौर पर, सॉफ्टवेयर की जो वस्तु के रूप में, रजिस्टरों की संख्या संख्या का लाभ होगा?

+2

विंडोज़ का 64-बिट संस्करण 32-बिट और 64-बिट दोनों प्रकारों में इंटरनेट एक्सप्लोरर के साथ आता है, लेकिन 32-बिट एक डिफ़ॉल्ट है क्योंकि बहुत से आईई प्लगइन्स केवल 32-बिट हैं और लोड नहीं होंगे एक 64-बिट प्रक्रिया अंतरिक्ष में। क्रोम एक ही कारण के लिए 32-बिट्स संभवतः है। –

+0

[64-बिट प्रदर्शन लाभ] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/3343812/64-bit-performance-advantages), [64-बिट/32-बिट के निचले स्तर के फायदे और नुकसान क्या हैं ?] (http://stackoverflow.com/questions/1282206/what-are-the-lower-level-advantages-and-disadvantages-of-64-bit-32-bit) –

+0

यदि आपके पास 32- बिट कोड बेस, 64-बिट तक अपना रास्ता काम करना शुरू करें। कुछ मौजूदा डेटा प्रोसेसिंग के लिए बड़ा लाभ होगा, लेकिन प्रोसेसर से संबंधित आंतरिकों के लिए कम, क्योंकि समन्वय/तर्क स्वयं आकार में लगभग दोगुना हो जाएगा और कुछ हद तक प्रदर्शन प्रदर्शन को आसान बना देगा।लेकिन संगतता परत से छुटकारा पाने के लिए यह काफी महत्वपूर्ण है। – ActiveTrayPrntrTagDataStrDrvr

उत्तर

8

64 (x86_64) बिट्स अब मुख्यधारा है । 2 बड़े यहाँ फायदे:

  • किसी भी चाल
  • अधिक सामान्य प्रयोजन और अतिरिक्त प्रोसेसर के बिना उपलब्ध अधिक स्मृति पंजीकृत करता

लेकिन आप छोटे disadvatage भी है:

  • अधिक स्मृति खपत (आमतौर पर 32 बिट से 20-30% बड़ा)

मुझे लगता है कि Google क्रोम विंडोज़ में 32 बिट मोड में चलता है क्योंकि बहुत अधिक 32 बिट प्लगइन्स (फ्लैश की तरह) हैं। 64 बिट के लिए लिनक्स संस्करण भी है। अतिरिक्त प्रश्न

के लिए

संपादित आमतौर पर आप लाभ प्राप्त होगा यदि आपके आवेदन गणित (64-बिट पूर्णांक गणित), कोडिंग/एन्कोडिंग/पैकिंग/खोल, क्रिप्टोग्राफी का उपयोग करता है।

इसके अलावा आईबीएम 64-बिट कम्प्यूटिंग निर्णय निर्माता की गाइड http://www.onitecservice.com.br/produtos/arquiv_pdf/nocona64bit_onitec_service.pdf

पर देखने के किस प्रकार के आवेदनों की और न लाभ स्विच के 32-बिट से 64-बिट कंप्यूटिंग के लिए ले जाएगा?

आदेश में सबसे बड़ी से कम से कम लाभ के लिए, प्रकार के होते हैं:

  • आई/ओ गहन - कोई अनुप्रयोग है कि अधिक समय उपकरणों से डेटा प्राप्त करने में से खर्च करता है यह प्रसंस्करण: डेटाबेस पीठ अंत, ई-कॉमर्स, सीआरएम, ईआरपी, एसएपी, एसएएस, विभिन्न व्यावसायिक-महत्वपूर्ण और लंबवत अनुप्रयोग, और कोई अन्य एप्लिकेशन जिसमें बड़ी मेमोरी आवश्यकताएं हैं। सामान्य में इन अनुप्रयोगों को 64-बिट हार्डवेयर, ऑपरेटिंग सिस्टम और डिवाइस ड्राइवरों के साथ-साथ मेमोरी ओवरले और अन्य प्रदर्शन अवरोधकों के उन्मूलन से महत्वपूर्ण प्रदर्शन सुधार देखना चाहिए।
  • गणना-गहन - उच्च प्रदर्शन कंप्यूटिंग (एचपीसी) और वैज्ञानिक/तकनीकी कंप्यूटिंग, जिसमें जीवन विज्ञान, भौगोलिक अनुसंधान शामिल है; उच्च अंत ग्राफिक्स प्रतिपादन; स्ट्रीमिंग वीडियो, और कोई भी अन्य एप्लिकेशन जो इसे पुनर्प्राप्त करने से अधिक समय संसाधन डेटा खर्च करता है।
  • गेटवे/सुरक्षा आधारभूत संरचना - एसएसएल सर्वर, निर्देशिका सेवाएं, इंटरनेट कैशिंग और डेटाबेस फ्रंट-एंड। ये एप्लिकेशन स्विच से लाभ प्राप्त कर सकते हैं। आपको 64-बिट सुविधाओं का शोषण करने के लिए अपनी योजनाओं को जानने के लिए व्यक्तिगत सॉफ़्टवेयर विक्रेताओं से संपर्क करना चाहिए।
  • मानक आधारभूत संरचना - इस कक्षा में आमतौर पर 64-बिट कंप्यूटिंग से थोड़ा लाभ दिखाई देगा। अनुप्रयोगों में फ़ाइल और प्रिंट सर्वर, कम मात्रा/गैर-क्रिटिकल व्यवसाय अनुप्रयोग, और विरासत अनुप्रयोग शामिल हैं जिन्हें 64 बिट्स के लिए फिर से लिखने की संभावना नहीं है।
+0

20-30% भारी लगता है और औसत के लिए विश्वास करना मुश्किल है। क्या आपके पास इसके लिए कुछ स्रोत है? – bames53

+1

भले ही 20-30% आंकड़ा सही है, 64-बिट मशीन आमतौर पर 32-बिट मशीन की तुलना में अधिक स्मृति के साथ आती हैं। आखिरकार, 64-बिट प्रोसेसर रखने का पूरा कारण यह है कि आप 4 जीबी से अधिक रैम को संबोधित कर सकते हैं। केवल 4 जीबी रैम के साथ 64-बिट मशीनों का निर्माण करने वाले लोग पूरी तरह से इस बिंदु को याद कर रहे हैं। –

+1

@ bames53: यह मानते हुए कि पॉइंटर्स सामान्य रूप से 32-बिट अनुप्रयोग के विरुद्ध 64-बिट अनुप्रयोग में आकार के दोगुना हो जाएंगे, यह काफी विश्वसनीय है, हालांकि मैंने कभी खुद को चेक नहीं किया है। –

0

यदि आपके पास 64-बिट लक्ष्य के लिए संकलन करने की संभावना है तो आपको इसे करना चाहिए (imho)। जब आप वास्तविक आवश्यकता (मेमोरी खपत सीमाएं इत्यादि) हैं, तो यह देखने के लिए आप अपने एप्लिकेशन को आजमा सकते हैं और विश्लेषण कर सकते हैं - लेकिन जब मैं चल रही प्रक्रियाओं को स्क्रॉल करता हूं तो मैं अपने एप्लिकेशन प्रबंधन टूल में "64-बिट" मार्कर को देखना चाहता हूं।

64-बिट मोड अनुप्रयोगों के कई फायदे हैं जो मुख्य कारण अधिक उपलब्ध स्मृति हैं। यदि आपका कंपाइलर संकलन को सही तरीके से संभालता है और तदनुसार कोड को अनुकूलित करता है तो आपको कुछ अतिरिक्त प्रदर्शन प्राप्त करने में सक्षम होना चाहिए।

कोशिश करें और "वास्तविक दुनिया" परीक्षण करें - 64- और 32-बिट दोनों में संकलित करें, और कुछ प्रदर्शन चार्ट बनाएं। मैंने इसे एक एप्लिकेशन पर किया और यह ~ 20% प्रदर्शन बूस्ट (तेज गणना) दिखाया गया और प्रोग्राम लोड होने वाले डेटा की मात्रा अचानक "अनंत" लगती थी।

(Chrome के बारे में मेरे सबसे अच्छा अनुमान है कि वे कुछ 3 पार्टी 32-बिट में चल ही या शायद कुछ 32-बिट केवल Windows API का उपयोग पुस्तकालय पर भरोसा कर रहे हैं।)

+0

यह प्रश्न का उत्तर कैसे देता है, जो * मैं सोच रहा हूं कि 64 बिट्स मोड * में अनुप्रयोग बनाने के लिए मुझे कुछ फायदे/प्रदर्शन लाभ हो सकता है? –

+0

मुझे किसी के साथ सहमत होना है - आपने किसी भी फायदे का संदर्भ नहीं दिया है, आपने अभी कहा है कि किसी को किसी भी दिशानिर्देश या औचित्य के बिना 64-बिट संकलित करना चाहिए। –

+0

@justsomebody - आप सही हैं - मैं मुख्य रूप से "क्रोम 64-बिट क्यों चल रहा है" पर केंद्रित नहीं है। वास्तविक सवाल का जवाब बेहतर ढंग से संपादित करने के लिए संपादित किया गया। – mbanzon

0

Shamlessly बस स्कैन किया http://en.wikipedia.org/wiki/64-bit पक्ष-विपक्ष, विस्तृत जानकारी के लिए कर रहे हैं, कि विकिपीडिया पृष्ठ को देखो। जैसा कि रेखांकित किया गया है, आपके आवेदन के 64-बिट संस्करणों का मुख्य लाभ x86-64 आर्किटेक्चर में अधिक रजिस्टरों तक पहुंचने की क्षमता है।

उस पृष्ठ को भी दें, इस बात का कोई संकेत नहीं है कि बॉक्स के बाहर कोई महत्वपूर्ण प्रदर्शन लाभ है। आपको अपने द्वारा प्रदान की जाने वाली सुविधाओं का उपयोग करने के लिए अपने आवेदन को ट्यून करना होगा, यानी अधिक रजिस्टरों और अधिक मेमोरी क्योंकि उसी डेटा में स्मृति में अधिक जगह होती है (लंबी पॉइंटर्स और संभवतः अन्य प्रकारों और संरेखण पैडिंग के कारण)।

डब्ल्यू/पी के अनुसार अधिक मेमोरी उपयोग शायद मुख्य नुकसान भी है। संक्षेप में, प्रदर्शन लाभ हो सकता है लेकिन आपके कार्यक्रम को इसका लाभ उठाने के लिए कुछ हद तक बदलने की आवश्यकता होगी। मैं आपके कार्यक्रम को दोनों आर्किटेक्चर पर बेंचमार्किंग करने का सुझाव देता हूं कि यह देखने के लिए कि क्या यह तत्काल अंतर बनाता है (संभवतः कुछ भी बदले बिना)।

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