আমি এখানে কিছু প্রোগ্রাম সংকলন করছি এবং আমার কাছে 4 টি কোর রয়েছে। সমস্ত কোর বা এটি প্রভাবিত করে এমন কিছু ব্যবহার করে বলার make
, cmake
বা gcc
সংকলনের কোনও উপায় আছে কি ?
আমি এখানে কিছু প্রোগ্রাম সংকলন করছি এবং আমার কাছে 4 টি কোর রয়েছে। সমস্ত কোর বা এটি প্রভাবিত করে এমন কিছু ব্যবহার করে বলার make
, cmake
বা gcc
সংকলনের কোনও উপায় আছে কি ?
উত্তর:
যদি কোনও প্যাকেজ এটি সমর্থন করে তবে আপনি -j
সমান্তরাল কাজগুলি চালনার জন্য পতাকা ব্যবহার করতে পারেন , যেমন:
make -j8
এই পতাকার আরও বিশদ স্ট্যাকওভারফ্লো প্রশ্নে পাওয়া যাবে যে যখন মাপ-কোটি উপলব্ধ কোরের সংখ্যার চেয়ে আরও বড় এক নম্বর পাস করা হয় তখন কেন মেক-জে আরও ভাল সম্পাদন করে? ।
আপনার যদি একাধিক মেশিন থাকে তবে ডিস্টিসি একবার যান। জড়িত মেশিনে sudo apt-get install distcc
,। ধরে নিচ্ছি যে আপনার বিল্ড মেশিনটি 192.168.1.1:
সহায়ক মেশিনে, চালান:
sudo distccd --log-file=/tmp/distccd.log --daemon -a 192.168.1.1
বিল্ড মেশিনে চলার আগে configure
বা cmake
বিল্ড প্রক্রিয়াটির জন্য আপনি যে হোস্টগুলি ব্যবহার করতে চান তা আপনাকে নির্দিষ্ট করতে হবে। Ptionচ্ছিকভাবে, স্ল্যাশের পরে একযোগে কাজের সংখ্যা উল্লেখ করুন (4 এ ডিফল্ট করা):
export DISTCC_HOSTS='localhost/4 192.168.1.2/8 192.168.1.3/8'
সংকলকটি ডিস্টিসি ব্যবহার করুন:
export PATH="/usr/lib/distcc:$PATH"
এখন configure
বা cmake
অ্যাপ্লিকেশন এবং এর সাথে বিল্ড করুন:
make -j$(distcc -j)
মনে রাখবেন যে আপনি যদি /usr/lib/distcc
দু'বার আপনার পথের মধ্যে রাখেন তবে তা ব্যর্থ হবে। আপনার /usr/lib/distcc
একবারে সেট করতে ভুলবেন না PATH
।
আরও তথ্যের জন্য, ডিস্টিসি (1) এবং ডিএসসিডিডি (1) এর জন্য ম্যানুয়াল পৃষ্ঠা দেখুন ।
distccd --user nobody
। অন্যথায়, এটি এটি কার্যকরকারী ব্যবহারকারীর অধীনে চলবে।