在Intel的BOT下分析Geekbench 6
Analyzing Geekbench 6 under Intel's BOT

原始链接: https://www.geekbench.com/blog/2026/03/analyzing-geekbench-6-under-intels-bot/

## 英特尔二进制优化工具 (BOT) 与 Geekbench 性能 最近的调查显示,英特尔二进制优化工具 (BOT) 会修改可执行代码以提升性能,目前仅支持少数应用程序,例如 Geekbench。BOT 会引入启动延迟——取决于 Geekbench 版本,延迟时间为 2-40 秒——因为它会计算校验和来识别并优化兼容的二进制文件。 测试表明,启用 BOT 后,Geekbench 6.3 的得分提高了 5.5%,尤其是在对象移除和 HDR 等工作负载中(最高可提高 30%)。然而,Geekbench 6.7 的得分几乎没有受到影响。使用英特尔软件开发模拟器 (SDE) 的分析表明,BOT 显著改变了代码,*向量化* 操作——将单值处理转换为八值处理——在 HDR 工作负载中减少了 14% 的总指令数。 这是一种比英特尔公开记录的更高级的优化。 令人担忧的是,BOT 会产生人为夸大的基准测试结果,展示峰值性能而非典型的实际使用情况,并对英特尔处理器造成不公平的优势。Geekbench 现在将标记 BOT 优化的结果,以保持可比性和透明度,检测功能已内置于 Geekbench 6.7 中。

分析 Geekbench 6 在英特尔 BOT 下的表现 (geekbench.com) 11 分,hajile 发表于 1 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 帮助 refulgentis 发表于 9 分钟前 [–] > BOT 优化文档不足,范围激进,并损害了与其他 CPU 的可比性。例如,BOT 允许英特尔处理器运行向量指令,而其他处理器继续运行标量指令。这给英特尔带来了不公平的优势。 等他们听说分支预测器吧。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

We’ve spent the past week investigating Intel’s Binary Optimization Tool (BOT). BOT modifies instruction sequences in executables to improve performance, and can only be used with a handful of applications (including Geekbench 6). Intel’s public documentation on BOT is limited, so we decided to dig in ourselves to understand how it works and what optimizations it’s applying to Geekbench.

We tested both Geekbench 6.3 and Geekbench 6.7 on a Panther Lake laptop (an MSI Prestige 16 AI+ with an Intel Core 9 386H) with BOT enabled and disabled.

Startup Overhead

When running Geekbench 6.3 with BOT enabled, the first run has a 40-second startup delay before the program starts. Subsequent runs are faster, with a 2-second startup delay. The startup delay disappears when BOT is disabled.

When running Geekbench 6.7 with BOT enabled, all runs have a 2-second startup delay. The startup delay disappears when BOT is disabled.

Geekbench Results

Geekbench 6.3 scores increase when BOT is enabled compared to when BOT is disabled. On our test system, both the single-core and the multi-core scores increased by 5.5%.

Geekbench 6.3 BOT Disabled BOT Enabled Difference
Single-Core 2955 3119 +5.5%
Multi-Core 16786 17705 +5.5%

Some Geekbench 6.3 workload scores also increase, with scores for two workloads (Object Remover and HDR) increasing by up to 30% with BOT enabled. A comparison that includes all workload scores is available on the Geekbench Browser.

Geekbench 6.7 single-threaded and multi-threaded scores remained roughly the same with BOT enabled and disabled.

Geekbench 6.7 BOT Disabled BOT Enabled Difference
Single-Core 2938 2937 +0.0%
Multi-Core 16892 17045 +0.9%

Based on these results, we know BOT only optimizes specific versions of Geekbench. We examined the work done during the startup delay, and BOT is computing a checksum of the Geekbench executable. This suggests the checksum is used to identify whether the binary is known to BOT, and thus whether BOT can optimize the binary.

BOT Optimizations

Intel’s Software Development Emulator (SDE) is a development tool that can monitor which instructions are executed during a program run and is particularly useful for understanding which SIMD extensions a workload uses (e.g., SSE2, AVX2, AVX512).

We used SDE to see which instructions are executed (and how many times they’re executed) during a Geekbench run. To keep our analysis manageable, we focused on the HDR workload since it showed the largest gain under BOT.

Using Geekbench 6.3, we ran the HDR workload for 100 iterations under SDE and examined the results.

  BOT Disabled BOT Enabled Difference
Total Instructions 1.26 trillion 1.08 trillion -14%
Scalar Instructions 220 billion 84.6 billion -62%
Vector Instructions 1.25 billion 18.3 billion +1366%

Based on the instruction counts, it’s clear BOT has performed significant changes to the HDR workload’s code. The number of total instructions is reduced by 14%. Most of that reduction comes from BOT vectorizing parts of the workload’s code, converting instructions that operate on one value into instructions that operate on eight values. This is a significantly more sophisticated transformation than simple code-reordering. Intel’s public documentation only discloses the simpler code-reordering techniques, not the vectorization transformations observed here.

Conclusions

Real-world application code is incredibly varied, and Geekbench is designed to reflect that by using a broad range of workloads written in different styles. BOT undermines this by replacing that varied code with processor-tuned, fully optimized binaries, measuring peak rather than typical performance.

If BOT worked with every application, we wouldn’t have concerns with its use with Geekbench. It is an interesting optimization technique that has some drawbacks (the two-second startup delay being one of them, especially for short-lived processes).

However, right now, BOT only supports a handful of applications, meaning BOT-optimized benchmark results paint an unrealistic picture of how a CPU performs in practice. This makes Intel processors appear faster relative to AMD and other vendors than they would be in typical, real-world usage.

Next Steps

We will continue to flag BOT-optimized results in the Geekbench Browser. BOT optimizations are poorly documented, aggressive in scope, and damage comparability with other CPUs. For example, BOT allows Intel processors to run vector instructions while other processors continue to run scalar instructions. This provides an unfair advantage to Intel, and it’s important that Geekbench users understand what BOT does to Geekbench scores.

Geekbench 6.7 (out later this week) will include a way to check whether BOT is running and flag results when it is detected. This means we’ll be able to remove the warning from Geekbench 6.7 results when BOT is not detected. Geekbench 6.6 and earlier results on Windows will continue to be flagged.

联系我们 contact @ memedata.com