ИИ-оптимизация Kbuild: ускорение на 36-70%
Разработчик ядра Linux Лоренцо Стоакс (Lorenzo Stoakes) совместно с инструментами ИИ/LLM провел масштабную рефакторинг системы сборки Kbuild. Целью было устранение узких мест, ограничивающих параллелизм процесса компиляции. Результаты впечатляют: полная сборка ядра ускорилась на 36%, а инкрементальная сборка — на 70%. Эти улучшения не зависят от мощности железа и будут доступны пользователям уже в Linux 7.4.
Железо: AMD EPYC 9575F как король компиляции
Несмотря на софт-оптимизации, аппаратная часть играет ключевую роль. Тесты Phoronix показывают, что конфигурация с двумя процессорами AMD EPYC 9575F (64 ядра/128 потоков на сокет, частота до 5.0 ГГц, 256 МБ L3 кэш) является самой быстрой для сборки x86_64 defconfig. На такой системе (Ubuntu 26.04 LTS) время сборки сократилось с 28 до 20 секунд.
| Параметр / Конфигурация | Результат / Характеристика |
|---|---|
| Ускорение сборки (полная) | +36% (благодаря патчам Lorenzo Stoakes) |
| Ускорение сборки (инкрементальная) | +70% |
| AMD EPYC 9575F (2P) — defconfig | ~20 секунд (было ~28 сек до оптимизаций) |
| AMD EPYC 9754 (2P) — defconfig | 20 секунд (с новыми патчами) |
| Всего строк в дереве ядра | ~41 миллион |
| Сборка allmodconfig (топовое железо) | Менее 2 минут |
Почему это важно?
Исторически компиляция ядра Linux была «окном для кофе» — процесс занимал минуты. Сегодня, с ростом кодовой базы до 41 млн строк, мы подходим к порогу в 10 секунд для чистой сборки на процессорах нового поколения (например, грядущем AMD EPYC 9686F Venice). Это критически важно для разработчиков: быстрая итерация от чистых сборок и бисекция регрессий становятся практически мгновенными, что резко повышает продуктивность.
Перспективы: AMD EPYC 9686F Venice
Следующим шагом станет выход процессора AMD EPYC 9686F (96 ядер/192 потока, до 5.0 ГГц, 384 МБ L3 кэш, поддержка MRDIMM-12800). Ожидается, что именно эта архитектура позволит стабильно укладываться в 10-секундный лимит сборки даже самых тяжелых конфигураций, делая процесс компиляции ядра сопоставимым по скорости с запуском современного приложения.
Источник: Phoronix ↗
