अंतिम इस समस्या
हल करने के लिए क्योंकि सभी ग/सीपीपी फ़ाइलों make
सराहना का उपयोग करके संकलित किया जाएगा मार्ग, और make
एक विकल्प है जो कितने सीपीयू कोर स्रोत संकलित करने के लिए इस्तेमाल किया जा shoule निर्दिष्ट है कोड, हम make
पर कुछ चाल कर सकते हैं।
बैकअप अपने मूल make
आदेश:
sudo cp /usr/bin/make /usr/bin/make.bak
एक "नकली" make
आदेश है, जो अपने पैरामीटर सूची में --jobs=6
संलग्न करें और उन्हें मूल मेकअप आदेश make.bak
को पारित करेंगे लिखें:
make.bak --jobs=6 [email protected]
तो उसके बाद, सी libs के साथ अजगर संकलित भी नहीं, बल्कि दूसरों में सी libs 6 कोर द्वारा संकलन पर तेजी होगी। असल में make
कमांड का उपयोग करके संकलित सभी फाइलें तेज हो जाएंगी।
और शुभकामनाएं।
उपयोग: --install-विकल्प = "- नौकरियों = 6"।
pip3 install --install-option="--jobs=6" PyXXX
मेरे पास एक ही मांग है जो संकलन प्रगति को गति देने के लिए पाइप इंस्टॉल का उपयोग करें। मेरा लक्ष्य पीकेजी पायसाइड है। सबसे पहले मैं pip3 install pyside
का उपयोग करता हूं, मुझे लगभग 30 मिनट (एएमडी 1055T 6-कोर, 10 जी रैम) लगता है, केवल एक कोर 100% लोड लेता है।
pip3 --help
में कोई सुराग नहीं है, लेकिन मैं pip install -u pyXXX
की तरह बहुत सारे विकल्प मिल गया है, लेकिन मैं नहीं जानता था कि क्या '-u' है और इस पैरामीटर भी pip --help
में नहीं था। मैंने 'pip3 install --help' की कोशिश की और जवाब आया: - स्थापना-विकल्प।
मैंने पायसाइड के कोड के कोड को पढ़ा और एक और सुराग पाया: OPTION_JOBS = has_option('jobs')
, मैंने ipdb.set_trace() वहां रखा है और अंत में यह समझते हैं कि पाइप इंस्टॉल का उपयोग करके संकलित करने के लिए मल्टीकोर का उपयोग कैसे करें।
मुझे लगभग 6 मिनट लग गए।
-------------------------- अद्यतन ------------------- -----------
नीचे टिप्पणी के रूप में, मैं अंत में इस तरह चाल का इस्तेमाल किया: cd /usr/bin
sudo mv make make.bak
touch make
फिर संपादित करें: vim make
या अन्य तरीके से आप की तरह है और इस टाइप करें: make.bak --jobs=6 $*
मैं बैश से परिचित नहीं हूं, इसलिए मुझे यकीन नहीं है कि यह कोर्रेक्ट बैश कोड है या नहीं। मैं विंडोज़ में यह टिप्पणी लिख रहा हूं। कुंजी का नाम बनाने का नाम है। बाक, और उसके बाद एक नया मेक बनाएं, अतिरिक्त पैरा के साथ make.bak को कॉल करने के लिए इस नए मेक का उपयोग करें --jobs = 6
[समानांतर पाइप इंस्टॉल] के संभावित डुप्लिकेट (http: // stackoverflow.com/questions/11021130/parallel-pip-install) –
मुझे नहीं लगता कि यह डुप्लिकेट प्रश्न है। "समांतर पिप इंस्टॉल" धागे में, अगर मैं सही ढंग से समझ गया, तो लेखक एकाधिक पाइप इंस्टॉल प्रक्रियाओं को चलाने के लिए चाहता है। इसके विपरीत, मैं जो करना चाहता हूं वह एकाधिक कोर का उपयोग करके एक पैकेज स्थापित करना है। – Jihun
जहां तक मुझे पता है यह लागू नहीं किया गया है। कमांड build_ext को इसे प्राप्त करने के लिए अनुकूलित किया जाना है। – marscher