যখন আমি (পুনরায়) ডেস্কটপ / ল্যাপটপ কম্পিউটারে বৃহত সিস্টেমগুলি তৈরি করি, তখন আমি make
সংকলনের গতি বাড়ানোর জন্য একাধিক থ্রেড ব্যবহার করতে বলি , যেমন:
$ make -j$[ $K * $C ]
কোথায় $C
সংখ্যা নির্দেশ করার জন্য অনুমিত হয় কোর , মেশিন আছে (যা আমরা একটি ডিজিট সঙ্গে একটি সংখ্যা হতে অনুমান করতে পারেন) যখন $K
আমি থেকে পৃথক হতে হয় 2
থেকে 4
, আমার মেজাজ উপর নির্ভর করে।
সুতরাং, উদাহরণস্বরূপ, আমি বলতে পারি make -j12
যদি আমার কাছে 4 টি কোর থাকে তবে make
12 টি পর্যন্ত থ্রেড ব্যবহার করার ইঙ্গিত দিচ্ছে ।
আমার যুক্তিটি হ'ল, যদি আমি কেবল $C
থ্রেড ব্যবহার করি তবে প্রসেসগুলি ড্রাইভ থেকে ডেটা আনতে ব্যস্ত থাকাকালীন অলস থাকবে। তবে আমি যদি থ্রেডের সংখ্যা সীমাবদ্ধ না রাখি (যেমন make -j
) আমি সময় স্যুইচিং প্রসঙ্গে নষ্ট করার ঝুঁকিটি চালাচ্ছি, স্মৃতি থেকে দূরে চলেছি বা আরও খারাপ । আসুন ধরে নেওয়া যাক মেশিনটির $M
জিগস রয়েছে মেমরির (যেখানে $M
10 এর ক্রম রয়েছে)।
সুতরাং আমি ভাবছিলাম যে চালানোর জন্য সবচেয়ে দক্ষ সংখ্যক থ্রেড বেছে নেওয়ার জন্য যদি কোনও প্রতিষ্ঠিত কৌশল আছে।