主电源而非电池供电模式下的基准性能加速 30%?

主电源而非电池供电模式下的基准性能加速 30%?

当我评估素数筛算法的各种实现的运行时间效率时,出现了这个观察结果。

令人惊讶的是,我们发现最佳算法之间的差异比加速30%实现了运行相同的算法(任一种),只需从电池使用切换到主电源使用即可。

鉴于我的电源设置并未设置为最大化电池寿命,我认为这不会是一个很大的考虑因素。

有什么见解可以解释为什么差异如此之大吗?

这是由于软件/操作系统引起的节流(在这种情况下我可以在电池模式下关闭节流行为吗?),还是电源的选择直接影响芯片的电气特性?

(我的机器:Windows XP,Intel Core2Duo,2GHz,2GB RAM)

PS:我知道显卡性能很大程度上取决于电源,例如这里讨论,但由于我的基准测试程序是没有图形和打印语句的控制台程序(它们在内存中运行直到“完成”),所以我并不期望 GPU 参与其中......对吗?

答案1

您的猜测是正确的。Windows XP 操作系统内置了 CPU 节流功能,并且无法轻松更改它。但是,您可以使用内置的命令行 POWERCFG.EXE 实用程序来更改它 - 请参阅 Technet 上的讨论这里或者 Wikipedia 上更完整的解释这里。有一个教程这里

简而言之,要在名为“便携式/笔记本电脑”的电源方案中使用电池获得最大 CPU 速度,请使用以下命令:

C:\Windows\System32\PowerCFG.exe /change "Portable/Laptop" /processor-throttle-dc none

要将其切换回来,请将“无”更改为“动态”(或以前的设置)。您可以使用以下命令检查电源设置:

C:\Windows\System32\Powercfg /query

您还可以通过查看“我的电脑”-->“属性”来查看每种情况下的实际速度。在“计算机”部分下,您将看到 CPU 的名称及其最大频率。在其下将显示其实际运行频率。在两种情况下(电池和插入电源)进行检查,您应该会看到差异。然后使用 POWERCFG 进行更改,并查看那里和基准测试中的差异。

仅供参考,你可以尝试使用一个名为 SpeedswitchXP 的替代工具来代替 POWERCFG - 我没有用过它,但它有描述这里。根据页面显示,它提供了对 CPU 节流选项的 GUI 访问。

相关内容