Команда разработчиков 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 секунд.

На основании этих результатов мы знаем, что BOT оптимизирует только определенные версии Geekbench. Мы изучили работу, выполняемую во время задержки запуска, и выяснили, что BOT вычисляет контрольную сумму исполняемого файла Geekbench. Это говорит о том, что контрольная сумма используется для определения того, известен ли бот этому исполняемому файлу, и, следовательно, может ли бот его оптимизировать.
Подмена инструкций и реальная эффективность
Для глубокого анализа разработчики использовали инструмент Intel SDE, позволяющий отслеживать выполняемые процессорные инструкции. Выяснилось, что при активации BOT общее количество инструкций сокращается на 14%. Однако за этими цифрами скрывается радикальное изменение структуры кода: число скалярных инструкций упало на 62%, тогда как количество векторных выросло на внушительные 1366%.
По мнению авторов исследования, такой эффект достигается за счет агрессивной векторизации: стандартные инструкции, оперирующие одиночными значениями, программно преобразуются в векторные, способные обрабатывать по восемь значений за такт.
Проблема «избранных» оптимизаций
Разработчики признают, что Intel BOT — технически впечатляющее решение, однако его главная слабость заключается в избирательности. Инструмент эффективно работает лишь с тем узким кругом приложений и игр, под которые Intel заблаговременно подготовила «профили» оптимизации. Любое обновление ПО нарушает работоспособность этих надстроек.
В настоящее время BOT поддерживает лишь небольшое количество приложений, а это значит, что оптимизированные для BOT результаты бенчмарков дают нереалистичное представление о том, как процессор работает на практике. Из-за этого процессоры Intel кажутся быстрее по сравнению с AMD и другими производителями, чем они были бы на самом деле в типичном реальном использовании.






