बड़े सॉफ्टवेयर को संकलित करने के लिए अधिक महत्वपूर्ण सीपीयू या रैम क्या है, जैसे बूटस्ट्रैपिंग जीसीसी?


11

मैं जल्द ही एक नया कंप्यूटर खरीदना चाह रहा हूं, और मुझे तेज संकलन समय के लिए सर्वश्रेष्ठ प्रदर्शन की मशीन चाहिए।

तो क्या मुझे उच्चतम गीगाहर्ट्ज के साथ क्वाड-कोर सीपीयू प्राप्त करने की परवाह करनी चाहिए, या मुझे इसके बजाय उच्च गति रैम में निवेश करना चाहिए?

मुझे किस प्रकार की रैम के लिए जाना चाहिए, इसके लिए आपकी सिफारिश क्या है?

ग्राफिक्स का प्रदर्शन कोई फर्क नहीं पड़ता, सॉफ्टवेयर के भार को संकलित करना और गणितीय सिमुलेशन चलाना।

जवाबों:


8

मैं ना तो कहूंगा। बल्कि एक तेज एसएसडी हार्ड ड्राइव प्राप्त करें । बेशक आपको एक उचित सीपीयू और साथ ही रैम की मात्रा की आवश्यकता है, लेकिन हाँ ...


2
खैर, मुझे SSD नहीं मिला, इसके बजाय मुझे 32GB RAM मिली और सब कुछ RAM में tmpfs पर संकलित किया .... .... SSD = से भी अधिक तेज़
Dima

1
ठीक है, यह उसी तरह का विचार है: p
Svish

2
मैं असहमत हूं। मुझे अपने लैपटॉप के लिए SSD ड्राइव मिली और इसने संकलन गति में बहुत कम अंतर किया। दूसरी ओर, सीपीयू की गति को लगभग तिगुना और SSD मशीन पर केवल 4GB बनाम 6GB के साथ एक नया कंप्यूटर प्राप्त करना लगभग 3 गुना तेज संकलन बना। anandtech.com/show/2829/25 एसएसडी के साथ कोई ध्यान देने योग्य संकलक गति में सुधार नहीं पाता है जबकि blog.hypercomplex.co.uk/index.php/2010/06/… 23% सुधार पाता है। यह मेरे लिए तर्कसंगत लगता है कि यदि आपके पास पर्याप्त मेमोरी है, तो संकलन में बहुत कम डिस्क उपयोग शामिल है।
क्रिस ड्रैगन

1
एक और विचार यह संभव है कि कुछ कंपाइलर मेमोरी के बजाय ढेर सारी टैंपल फाइल्स का इस्तेमाल करें, जिस स्थिति में एसएसडी या रैमडिस्क सबसे ज्यादा मदद करेगा। हालाँकि, मैं आधुनिक कंपाइलरों को इस तरह से इंजीनियर बनाने की उम्मीद नहीं करूंगा कि अब यह मेमोरी सस्ती और बड़ी है और यह सिस्टम डिस्क को पेजिंग करता है जब यह कम चलता है। XCode 3.2.6 (gcc 3 या 4 पर आधारित) का उपयोग करके, SSD को बहुत कम लाभ हुआ।
क्रिस ड्रैगन

SSD बड़ी परियोजनाओं / समाधानों पर काफी अंतर डालता है जो फ़ाइल कॉपी / मूविंग का भारी उपयोग करते हैं। मैंने व्यक्तिगत रूप से RAM tmpfs- शैली का उपयोग नहीं किया है, लेकिन मैंने इसके बारे में अच्छी बातें सुनी हैं। छोटी परियोजनाओं के लिए, यह शायद ठीक है। विशाल लोगों के लिए? यह अपर्याप्त हो सकता है।
kayleeFrye_onDeck

4

संभवतः रैम आपको हिरन के लिए एक बड़ा धमाका देगा। संकलन, विशेष रूप से बड़े अनुप्रयोग, बहुत I / O गहन है, और अधिक RAM होने का मतलब है कि आप डिस्क से और उसके लिए पेजिंग करने से अधिक समय बचा सकते हैं। आज के अधिकांश सीपीयू, खासकर यदि आप सस्ते क्वाड-कोर के साथ जाते हैं, तो आपके संकलन के लिए बहुत सी सीपीयू शक्ति प्रदान करेगा, लेकिन रैम होने से डेटा को आगे और पीछे जाने में मदद मिलेगी।

2 विचार पर, यह आपके गणित सिमुलेशन और निर्माण प्रक्रियाओं पर निर्भर करता है। क्या वे समानांतर हैं? यदि नहीं, तो अधिक कोर जोड़ना वास्तव में इसे गति देने के लिए कुछ भी नहीं करेगा, हालांकि नए इंटेल चिप्स (कोर i7) प्रति-कोर आधार पर काफी तेज हैं।


1
कंपाइलिंग का डिस्क से क्या संबंध है?
अराश

2

मैं कहूँगा कि लोड और RAM के भार मिलते हैं और अस्थायी भंडारण के लिए ramdisks का उपयोग करते हैं। यह नाटकीय रूप से संकलन की गति बढ़ाएगा। एक तेज़ मल्टी-कोर सीपीयू भी ठीक होगा, लेकिन मुझे लगता है कि आपको बहुत सारे राम से अधिक लाभ होगा। पर एक नजर डालें इस कुछ विचारों के लिए लेख। यहाँ कुछ और जानकारी और यहाँ कुछ और है । मुझे लगता है कि एसएसडी का उपयोग करने की तुलना में रैम का उपयोग तेजी से होगा, लेकिन मैं गलत हो सकता है।


2

आपकी संगणना के लिए, आपका प्रोसेसर सबसे महत्वपूर्ण है।

संकलन आपके प्रोसेसर और रैम दोनों पर जोर देगा।

मुझे लगता है कि आपका सबसे अधिक लागत प्रभावी समाधान सबसे अच्छा सीपीयू आप प्राप्त कर सकते हैं, और अधिमानतः एक क्वाड कोर होगा। रैम के समान सस्ता होने के साथ (DDR3 अब DDR2 जितना सस्ता है), आप आसानी से उतनी रैम में प्लग लगा सकते हैं, जितना आपको छोटे सिक्के के लिए (new GBD पर $ 180 में DDR3 का 16 GB ...) मुझे लगता है कि यह ओवरसिल है। बस यह प्रदर्शित करने की कोशिश कर रहा है कि यह कितना सस्ता है)। इसलिए मैं जितना संभव हो उतना एक गुणवत्ता सीपीयू पर खर्च कर सकता हूं।


तेजी से सीपीयू प्राप्त करने के लिए अधिक पैसा खर्च करना अच्छी सलाह है। लेकिन अधिक धन प्राप्त करने के लिए अधिक धन खर्च नहीं करना चाहिए। जीसीसी एक ही धागे में अपने सभी संकलन करता है, इसलिए यह कभी भी एक से अधिक कोर का उपयोग नहीं करता है।
आइजैक राबिनोविच

1
@Isaac हां, लेकिन निर्माण प्रणाली आमतौर पर एक साथ कई gcc जॉब्स को जोड़ सकती है, जैसे makeकि -jविकल्प के साथ । इसके अलावा, मेरा मानना ​​है कि llvm कई थ्रेड्स का उपयोग करके एक फ़ाइल को संकलित कर सकता है या कर सकता है।
पोंकाडूडल

@Allacoloo ठीक है, आप कभी-कभी थोड़ी अतिरिक्त गति प्राप्त कर सकते हैं जब आपके पास ऐसी फाइलें होती हैं जो निर्भरता ग्राफ में समानांतर होती हैं। फिर भी, मेरा मानना ​​है कि एक निर्माण को गति देने के लिए अतिरिक्त कोर एक बहुत छोटा कारक है। हार्ड बताने के लिए, के बाद से अतिरिक्त कोर नए सीपीयू कि में एक मानक सुविधा हैं कर सिर्फ तेजी से clocking द्वारा गति बातें। यदि आप प्रदर्शित करना चाहते हैं कि मैं गलत हूं, तो -j के साथ और बिना एक बड़ा संकलन करने का प्रयास करें।
आइजैक राबिनोविच

2
@IsaacRabinovitch वास्तव में बड़े कोड आधारों पर यह बहुत मायने रखता है । हमारे कोडबेस संकलन समय पर distcc( make -j8(स्थानीय रूप से) make -j30नेटवर्क पर वितरित ) के साथ लगभग रैखिक रूप से कम हो जाता है
एलेक्स

0

खैर ग्राफिक्स मदद कर सकता है क्योंकि इस पर एक सीपीयू के साथ एक ग्राफिक्स कार्ड मुख्य सीपीयू पर लोड को कम कर सकता है। सीपीयू पावर शायद अधिक महत्वपूर्ण है तो रैम, लेकिन बेहतर दोनों आप से बेहतर होंगे।


अच्छा बिंदु - केवल अगर प्रक्रिया CUDA कोर का उपयोग कर सकती है, जो कि अधिकांश नहीं है।
NoBugs

0

शारीरिक सीमाओं के कारण, कोर खुद को कभी भी बहुत जल्दी नहीं पाती हैं, इसलिए जब तक आप कस्टम सीपीयू में तेजी से निवेश करने की योजना नहीं बनाते हैं तब तक आपकी समस्या का समाधान नहीं होता है जब तक कि समानांतरकरण वास्तव में कुछ अंतर नहीं करता है, लेकिन किसी भी तरह से कई सॉफ्टवेअर मुश्किल से 4 कोर मिलते हैं। , मुझे यह पता है क्योंकि मैं बहुत बार अपने पूरे सिस्टम को संकलित करता हूं और कई बार मैं संसाधनों के आंकड़े देखने के लिए जाता हूं। इसके अलावा, भले ही डेवलपर्स समानांतर में वृद्धि करना चाहते थे, यह कभी-कभी इसे अच्छे तरीके से बनाने के लिए पीछा कर रहा है। सीपीयू पर निवेश करना या तो सेवाओं के प्रदर्शन को बढ़ाने के लिए अच्छा है या यदि आप पहले डेटा के आधार पर गणना कर रहे हैं; भले ही यह बाद में निष्पादन व्यवहार को प्रभावित करेगा; यदि आपके संकलन में से कुछ पैटर्न का पालन किया जाता है, तो चर्चा करना कठिन काम हो सकता है, लेकिन निर्माण प्रक्रिया के लिए कुछ विशेष मामले हैं; यही कारण है कि उदाहरण के लिए, ग्राफिकल कंप्यूटिंग पर अधिक कोर अभी भी कुछ अंतर कर रहे हैं। दूसरे तब जो आप कर सकते हैं I / O को जितना आप बढ़ा सकते हैं, उसमें डिस्क, मेढ़े और मदरबोर्ड शामिल हो सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.