В Linux 7.4 начали принимать патчи для ускорения сборки ядра
В ядро Linux 7.4 начали поступать патчи инженера компании Arm Лоренцо Стоукса, нацеленные на ускорение процесса сборки. По оценкам, в полном объёме эта работа позволяет сократить время компиляции весьма существенно.
Откуда растут корни
Работа ведётся с начала сентября. Отправной точкой стало любопытное наблюдение: искусственный интеллект, привлечённый к задаче, выдал немало, мягко говоря, неприглядного кода, но при этом помог выявить главные узкие места, мешавшие быстрой компиляции. Патчи устраняют множество однопоточных «бутылочных горлышек» и прочих проблем — причём как для компилятора GCC, так и для LLVM/Clang.
По приведённым данным, полный набор изменений ускоряет сборку ядра примерно на 36%, а инкрементальную сборку — почти на 70%. Серия патчей ранее подробно разбиралась в отдельном материале Phoronix, посвящённом попыткам приблизиться к сборке ядра за десять секунд.
Что уже влилось
В рамках изменений Kbuild в Linux 7.4 принят первый набор доработок. Среди них — отказ от размещения секции .modinfo в vmlinux, ускорение kallsyms, устранение лишней сортировки, генерация релокаций только на этапе финальной компоновки vmlinux, переписывание mksysmap на языке C, более агрессивное кэширование результатов проверок cc-option и ld-option, а также использование pigz (там, где он доступен) для более быстрого сжатия Gzip.
Автор материала отмечает, что после выхода Linux 7.4-rc1 он проведёт свежие замеры производительности сборки, чтобы оценить эффект уже принятых изменений.
Источник: Phoronix
Комментарии
Войдите, чтобы комментировать.