哪种写法局部性最差
下面四种访问一个大数组的方式,局部性最差的是【0】。
同一个数组,两种走法装载了几次
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def loads(idxs): cur = -1 n = 0 for i in idxs: b = i // BLK if
循环变量被用了多少次
运行下面这段程序,填写它打印出来的结果。 reads = 0 writes = 0 for i in range(8): reads = reads + 2 writes = writes + 1 print(str(rea
自己写:数摸到了几块
每 BLK 个元素算一块。给一串下标,算出一共摸到了几块。
两种局部性各数一次
对同一段访问序列,分别数出「同一个位置被重复访问了几次」和「一共装载了几次」。
⚠️ 局部性好,不等于访问次数少
比较两种访问方式:一种访问 32 次摸 8 块,一种访问 8 次也摸 8 块。把「访问次数 / 装载次数」都打出来。
二维数组在内存里是怎么放的
一个二维数组在内存里【0】。
为什么逐列遍历慢
同样访问 64 个元素,逐列遍历比逐行遍历慢得多。因为【0】。
换个遍历顺序,结果会变吗
把逐列遍历改成逐行遍历之后,算出来的结果【0】。
两种遍历,各装载了几次
运行下面这段程序,填写它打印出来的结果。 BLK = 4 def loads(idxs): cur = -1 n = 0 for i in idxs: b = i // BLK if