В рамках подготовки к будущему выпуску ядра Linux 6.13 разработчики представили обновлённую версию алгоритма CRC32C, оптимизированного для работы с современными процессорами. Внедрение этого патча позволило сократить размер кода алгоритма почти в 10 раз — с 4546 до 418 байт. Отключение защиты retpoline, предназначенной для предотвращения уязвимостей класса Spectre, увеличивает производительность на 11,8% для процессоров AMD Zen 2, на 6,4% для Intel Emerald Rapids и на 4,8% для Intel Haswell. При включённой защите retpoline рост производительности становится ещё более ощутимым, достигая 66,8% на Intel Emerald Rapids, 35,0% на Intel Haswell и 29,5% на AMD Zen 2. Показатели прироста при включённой retpoline: При отключённой retpoline:
Эффективность также улучшается, хотя прирост менее значительный, особенно при обработке крупных данных. Изначальный алгоритм CRC32C был реализован через развёртку цикла на 128 итераций, что приводило к значительному увеличению объёма кода. С учётом возможнос