同一算法的两个版本在 valgrind/cachegrind 下产生不同的总指令获取计数和周期估计。差异约为 25%。然而,处理时间非常相似(cachegrind-slow 版本实际上更短):
版本 1:
Ir: 146,328,018,245 CEst: 152,553,736,055 timing: 17.93 s
版本 2:
Ir: 185,221,836,610 CEst: 197,531,381,950 timing: 17.53 s
这种行为是预期的吗?我怎样才能更多地了解为什么版本 1 速度较慢?