我写了一段代码,用于计算0到255之间的数字频率.
unsigned char arr[4096]; //aligned 64 bytes, filled with random characters
short counter[256]; //aligned 32 bytes
register int i;
for(i = 0; i < 4096; i++)
++counter[arr[i]];
Run Code Online (Sandbox Code Playgroud)
执行需要花费大量时间; 随机访问计数器阵列非常昂贵.
有没有人有任何想法,我可以使用顺序访问或我可以使用的任何其他方法?