gpt4 book ai didi

benchmarking - 什么是用于进行基准测试的 'differential timing' 技术?

转载 作者:行者123 更新时间:2023-12-01 04:58:17 27 4
gpt4 key购买 nike

Andrei Alexandrescu 撰写的“编写快速代码 I”大约 39 分钟 (link here to youtube)

有一张关于如何使用差分计时的幻灯片......有人可以用这种方法向我展示一些基本代码吗?它只被提及了一秒钟,但我认为这是一个有趣的想法。

  • Run baseline 2n times (t2a)
    vs. baseline n times + contender n times (ta+b).

  • Relative improvement = "t2a / (2ta+b - t2a)"

  • some overhead noises canceled

最佳答案

Alexsandrescu 的 slide倒入代码相当简单:

auto start = clock::now();
for( int i = 0; i < 2*n; i++ )
baseline();
auto t2a = clock::now() - start;

start = clock::now();
for( int i = 0; i < n; i++ )
baseline();
// *
for( int i = 0; i < n; i++ )
contender();
auto taplusb = clock::now() - start;

double r = t2a / (2 * taplusb - t2a) // relative speedup

* 防止在最后两个循环中进行优化的同步点。

我会对以这种方式测量相对速度背后的数学推理更感兴趣,而不是简单地 tBaseline / tContender就像我一直在做的那样。他只是含糊地暗示“......架空噪音(被)取消(消失)”,但没有详细解释。

关于benchmarking - 什么是用于进行基准测试的 'differential timing' 技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35278566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com