gpt4 book ai didi

c++ - 有没有办法在基准测试时模拟缓存局部性?

转载 作者:行者123 更新时间:2023-12-01 14:48:30 25 4
gpt4 key购买 nike

我试图找出对 C++ 程序进行基准测试的最佳方法,并想模拟与基准测试部分相关的数据存在于缓存中和冷时两种情况。

是否有一种可靠的方法可以在 x86-64 机器上强制执行好的和坏的缓存局部性,作为测试运行的一种准备形式,假设它将涉及的数据是已知的?

最佳答案

据推测,您正在对一个对一系列对象执行操作的算法进行基准测试,并且您关心这些对象在内存中的位置(以及缓存)。

“模拟”局部性:创建局部性。您可以创建具有高局部性的链表以及具有低局部性的链表:

分配数组中的节点。要创建具有高局部性的列表,请确保数组的第一个元素指向第二个元素,依此类推。要创建具有较低局部性的列表,请创建顺序的随机排列,以便每个节点指向数组随机位置中的另一个节点。

确保元素数量至少比最大缓存大一个数量级。

关于c++ - 有没有办法在基准测试时模拟缓存局部性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60698317/

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