Домой Статьи и аналитика Мнения и разборы Функция Intel BOT подменяет код приложений: мнение разработчиков Geekbench

Функция Intel BOT подменяет код приложений: мнение разработчиков Geekbench

Инструмент Intel BOT манипулирует результатами тестов, подменяя инструкции процессора в популярных бенчмарках.

Команда разработчиков Geekbench представила новые подробности о работе функции Intel BOT (Binary Optimization Tool). Если ранее эксперты лишь выражали недоумение по поводу принципов функционирования этого механизма, то теперь они прямо заявляют: инструмент Intel фактически подменяет исходный код приложений на лету.

Результаты тестов и странности задержек

Исследователи провели серию испытаний на ноутбуке с процессором Core 9 386H, сравнивая показатели Geekbench 6.3 и обновленной версии Geekbench 6.7 при активной и деактивированной функции BOT. В версии 6.3 активация инструмента обеспечивала прирост производительности на 5,5% как в однопоточном, так и в многопоточном тестах. Это объясняется тем, что Intel целенаправленно оптимизировала работу ПО именно под эту версию бенчмарка. Однако в Geekbench 6.7 ситуация изменилась: прирост в многопоточном режиме составил всего 0,9%, а однопоточный тест практически не отреагировал на вмешательство.

Также была выявлена любопытная закономерность в скорости запуска программ. Запуск Geekbench 6.3 при включенном BOT сопровождается 40-секундной задержкой, которая исчезает при повторном открытии (сокращаясь до 2 секунд) и полностью пропадает при деактивации функции. В версии 6.7 задержка всегда составляет около 2 секунд.

Функция Intel BOT подменяет код приложений: мнение разработчиков Geekbench
Функция Intel BOT подменяет код приложений: мнение разработчиков Geekbench — иллюстрация к материалу. Источник: ixbt.com

На основании этих результатов мы знаем, что BOT оптимизирует только определенные версии Geekbench. Мы изучили работу, выполняемую во время задержки запуска, и выяснили, что BOT вычисляет контрольную сумму исполняемого файла Geekbench. Это говорит о том, что контрольная сумма используется для определения того, известен ли бот этому исполняемому файлу, и, следовательно, может ли бот его оптимизировать.

Подмена инструкций и реальная эффективность

Для глубокого анализа разработчики использовали инструмент Intel SDE, позволяющий отслеживать выполняемые процессорные инструкции. Выяснилось, что при активации BOT общее количество инструкций сокращается на 14%. Однако за этими цифрами скрывается радикальное изменение структуры кода: число скалярных инструкций упало на 62%, тогда как количество векторных выросло на внушительные 1366%.

По мнению авторов исследования, такой эффект достигается за счет агрессивной векторизации: стандартные инструкции, оперирующие одиночными значениями, программно преобразуются в векторные, способные обрабатывать по восемь значений за такт.

Проблема «избранных» оптимизаций

Разработчики признают, что Intel BOT — технически впечатляющее решение, однако его главная слабость заключается в избирательности. Инструмент эффективно работает лишь с тем узким кругом приложений и игр, под которые Intel заблаговременно подготовила «профили» оптимизации. Любое обновление ПО нарушает работоспособность этих надстроек.

В настоящее время BOT поддерживает лишь небольшое количество приложений, а это значит, что оптимизированные для BOT результаты бенчмарков дают нереалистичное представление о том, как процессор работает на практике. Из-за этого процессоры Intel кажутся быстрее по сравнению с AMD и другими производителями, чем они были бы на самом деле в типичном реальном использовании.

Источник: https://www.ixbt.com