Cachegrind/Valgrind检测到Refs远高于过往运行值的原因咨询
Cachegrind/Valgrind检测到Refs远高于过往运行值的原因咨询
最近我用Cachegrind工具运行一段C++代码时,发现检测到的refs(内存引用数)比两年前的测试结果高出很多。两次测试我都重复运行了多次,每次结果都保持一致,而且使用的是完全相同的硬件环境。
旧运行结果
新运行结果
奇怪的是,缓存缺失的数量和之前差不多,但随着refs的大幅增加,整体缓存缺失率完全变了。这对我来说很棘手,因为我的测试目的就是要展示链表在缓存利用上的低效性——之前的测试结果里,缓存缺失率很高,完全符合预期。
我已经尝试过用多个版本的Valgrind(包括两年前使用的那个版本)来运行测试,结果都是一样的,refs依旧偏高。
有没有大佬能帮忙解释一下这是什么原因导致的?提前感谢大家的解答!
备注:内容来源于stack exchange,提问作者L1ggy
相关产品推荐
相关产品推荐

