کامپایل سریعتر با دستور make
سپتامبر 13, 2010 ۱ دیدگاه
معمولاً کد منبع برنامههای گنو/لینوکس دارای فایلی به نام Makefile است تا کاربر توسط دستور make بتواند آن برنامه را کامپایل و بر روی سیستم خودش نصب کند. بطور مثال، کد منبع یک برنامه را دانلود و غیر فشرده کردهاید، برای پیکربندی، کامپایل و نصب آن به ترتیب دستورات زیر را وارد میکنید:
./configure
make
make install
اگر از CPUی چندهستهای یا از سری CPUهای core i7 و … اینتل استفاده میکنید، دستور دوم (دستور make) فقط توسط یکی از هستهها پردازش میشود و در طی این مدت، سایر هستهها بدون استفاده خواهند ماند و چون دستور make زمانبرترین (و طولانیترین) مرحله است، در نتیجه با توجه به حجم کد منبع، زمان زیادی را منتظر خواهید ماند تا مرحلهٔ کامپایل (دستور make) بطور کامل انجام شود. اگر برای اجرای دستور make بتوان از قدرت پردازش سایر هستهها نیز استفاده کرد، مسلماً سرعت اجرای دستور make به چندین برابر افزایش خواهد یافت. به همین خاطر است که توسط سوئیچ j میتوان تعداد هستهها (یا threadهای ناهمزمان) را مشخص کرد:
./configure
make -j 4
make install
در این حالت، مشخص شده که بطور همزمان ۴ نخ (thread) مورد استفاده قرار گیرد، بنابراین اگر از یک CPUی ۴ هستهای استفاده میکنید، هر thread توسط یک هسته مورد پردازش قرار خواهد گرفت و بدین طریق، سرعت دستور make نسبت به حالت قبل (بدون استفاده از سوئیچ j) تقریباً چهاربرابر افزایش خواهد یافت. این یک مزیت در استفاده از دستور make است که قابلیت استفادهٔ حداکثر از توانایی سختافزار را دارد.
دانلود کتاب آموزش پارسیکس