لینوکس ۷.۴ با پچهای خفن برای سرعت دادن به فرآیند Build آمد!

تا حالا شده بخوای Kernel لینوکس رو خودت کامپایل کنی و از معطلی طولانیمدتش کلافه بشی؟ خبر خوب اینکه لینوکس ۷.۴ بالاخره کلی پچ جدید و خفن از مهندسین Arm گرفته که قراره فرآیند Build رو به شدت سریعتر کنن. این یعنی کلی صرفهجویی در وقت و انرژی برای کسایی که مدام دارن سورس کدها رو کامپایل میکنن و دیگه نیازی نیست ساعتها منتظر بمونن تا کار سیستم تموم بشه.
داستان از کجا شروع شد؟
ماجرا از این قراره که از مدتها پیش، تلاشهای زیادی برای پیدا کردن گلگاهها یا همون باتلنکهای سیستم انجام شد. ماجرا با کمک هوش مصنوعی جالبتر هم شد؛ هوش مصنوعی کلی کد نه چندان زیبا ولی کاربردی تولید کرد که توانست نقاط کور رو شناسایی کنه. نتیجه چی شد؟ هم کامپایلر GCC و هم LLVM/Clang کلی سریعتر شدند. این پچهای جدید باعث میشن که Build کامل حدود ۳۶ درصد و Buildهای تدریجی یا همون incremental builds تا ۷۰ درصد سریعتر انجام بشن!
تغییرات فنی زیر کاپوت Kbuild
تغییراتی که بالاخره برای نسخه ۷.۴ لینوکس ادغام شدند، شامل چند تا بهینهسازی خیلی باحال هستند:
- جلوگیری از تخصیص دادن .modinfo در vmlinux
- سرعت بخشیدن به بخش kallsyms و حذف مرتبسازیهای اضافه
- اعمال relocationها فقط روی لینک نهایی vmlinux
- بازنویسی mksysmap با زبان C برای عملکرد بهتر
- کش کردن بیشتر نتایج cc-option و ld-option
- استفاده از ابزار pigz برای فشردهسازی سریعتر Gzip (در صورت دسترسی)
این تغییرات جذاب به عنوان بخشی از آپدیتهای Kbuild توی مخزن قرار گرفته. به محض اینکه نسخه نهایی لینوکس ۷.۴ از راه برسه، کلی بنچمارک جدید برای بررسی میزان تاثیر واقعی این تغییرات روی سرعت سیستم اجرا میکنیم تا ببینیم چقدر توی دنیای واقعی به کارمون میاد.

