趁着去买菜的空档, 突然间想起来cache命中率失败的代价从来还没测过, 随后又想到网上很多人争论如果两个for循环嵌套, 到底是大循环放在外面效率高还是小循环放在外面效率高. 虽然有大牛说不同情况不同分析, 但到底为什么却没有分析.
于是就for循环与cache命中率写了一段测试代码访问1G的数据来测了一下性能, 竟然有1倍之多.
代码如下:
#include <Windows.h>
#include "assist.h"
//cache line 64 byte
//cache size 4Mbyte
typedef unsigned char cache_line_t[64];
cache_li……