Постоянные настройки вместо переменных окружения
Разработчики GNU представили релиз glibc 2.44, который вносит фундаментальные изменения в способ управления системными параметрами библиотеки. Ключевым нововведением стала поддержка файла /etc/tunables.conf. Это решение позволяет хранить настройки glibc на уровне всей системы, что является более надежной и постоянной альтернативой использованию переменной окружения GLIBC_TUNABLES.
Формат файла прост: одна настройка на строку. Кроме того, поддерживаются различные фильтры и опции, что дает администраторам гибкость в управлении поведением библиотеки без необходимости пересборки или изменения переменных среды для каждого процесса.
Оптимизация математики и поддержка новых архитектур
Версия 2.44 приносит существенные улучшения производительности, особенно в области вычислений с плавающей запятой. Реализация функции cosh теперь использует инструкцию FMA (Fused Multiply-Add), что обеспечивает ускорение примерно на 35%. Также из проекта CORE-MATH были импортированы и оптимизированы другие математические функции с корректным округлением.
Значительное внимание уделено поддержке процессорных архитектур. В glibc 2.44 добавлена поддержка 32-битной версии LoongArch, а также проведена серия оптимизаций для процессоров LoongArch, AArch64 и RISC-V.
Сравнение производительности и оптимизаций
Ниже приведена сводка ключевых улучшений производительности и архитектурных изменений в glibc 2.44:
| Компонент/Архитектура | Изменение | Эффект/Примечание |
|---|---|---|
| Математика (cosh) | Использование FMA | Ускорение ~35% |
| LoongArch | Новая поддержка | Добавлена 32-битная версия (LoongArch32) |
| AArch64 / RISC-V | Оптимизация функций | Улучшение производительности ряда системных вызовов |
| Настройки | /etc/tunables.conf | Системный уровень вместо GLIBC_TUNABLES |
Распространение в дистрибутивах
glibc 2.44 станет основой для будущих выпусков популярных дистрибутивов. Ожидается, что библиотека будет включена в Ubuntu 26.10, Fedora 45 и другие актуальные сборки Linux. Разработчикам стоит обратить внимание на этот релиз, так как изменения в базовой библиотеке могут повлиять на совместимость и производительность низкоуровневых приложений.
Источник: Phoronix ↗
