|
|
1
6
如果应用程序内存有限,那么CPU时钟周期也不意味着太多。在更快的CPU上,您只需花费更多的CPU周期来等待相同的缓存丢失(数学应用程序可能不受I/O限制)。 另一个问题是,特定指令序列的时钟周期数在不同的体系结构中仍然会有所不同(甚至包括Intel Core1/Core2)。因此,作为性能的绝对衡量标准,一个CPU上的时钟周期很难得到改善。 我认为他们实际上更糟。与时间不同,用户不关心周期。这对于现代多核cpu尤其重要。使用两倍循环数和3个核心的“低效”算法将在67%的时间内完成。用户可能会喜欢这样。 |
|
|
2
3
|
|
|
3
2
我同意你老板的看法-用cpu时钟周期来衡量。请注意,可能还有其他事情正在发生,例如大量缓存未命中,这会减慢代码的速度。如果可以的话,可以使用VTune或英特尔提供的免费工具来确定瓶颈的性质。 |
|
|
4
2
更不用说CPU限制已经不像以前那么清晰了,还有缓存丢失等等。以前,CPU绑定的进程是仅受I/O等限制的进程,因为内存访问需要一定数量的CPU周期。
|
|
|
5
1
可以用CPU硬件计数器来衡量,VTune英特尔配置文件在这方面相当不错。 这是假设您的函数没有内存限制。 谢谢 |
|
|
6
0
是一条路要走。 尽量减少你的测量 下一步,运行一个 基线 来校准那台机器。要么使用上一次签入的版本,要么使用某种与您尝试度量的计算类型大致匹配的密集例程。然后您可以将基准表示为
|
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |