1,98 раза — такого прироста производительности удалось добиться на процессорах Apple M4 за счет исправления логики компиляторов тридцатилетней давности. Инженеры японской Cybozu Labs нашли способ оптимизировать деление на константу для 64-битных систем, предложив изящное математическое решение вместо громоздких цепочек команд из эпохи первых Pentium.
Проблема крылась в методе Гранлунда и Монтгомери, который оставался стандартом индустрии с 1994 года. Даже на современных 64-битных процессорах компиляторы вроде GCC или Clang продолжали использовать логику, заточенную под 32-битные регистры. В ряде случаев это заставляло систему имитировать сложную арифметику, создавая длинные пути вычислений и замедляя работу программ. Разработчики Мицунари Шигео и Хошино Такаши предложили отказаться от старых костылей в пользу прямой трансформации формул под актуальное железо.Железо и софт
Новый подход использует специфические инструкции: MULX для архитектуры x86-64 и UMULH для чипов Apple и ARM. Вместо девяти последовательных операций теперь требуется всего три. Полевые испытания подтвердили теорию: на процессорах Intel Xeon w9-3495X скорость выросла в 1,67 раза, а чип Apple M4 продемонстрировал ускорение в 1,98 раза. Помимо чистой производительности, метод улучшил предсказуемость времени выполнения задач, что критично для высоконагруженных серверных систем и баз данных.Патч уже стал частью проекта LLVM и вошел в состав компилятора Clang версии 23.0.0. Обновления для GCC и Microsoft Visual C++ проходят финальное тестирование. Это означает, что вскоре большинство приложений — от криптографических сервисов до аналитических платформ — станут работать быстрее после простой пересборки кода, не требуя правок в исходных текстах программ.
Комментарии (0)
Пока нет комментариев. Будьте первым!