目前我正在处理一个视频处理软件,其中图片数据(8位有符号和无符号)存储在分配为 16 位对齐整数的数组中
__declspec(align(16)) int *pData = (__declspec(align(16)) int *)_mm_malloc(width*height*sizeof(int),16);
一般来说,如果使用这样的有符号/无符号字符数组,它不会加快读写速度吗?:
__declspec(align(16)) int *pData = (__declspec(align(16)) unsigned char *)_mm_malloc(width*height*sizeof(unsigned char),16);
我对缓存行大小和数据传输优化知之甚少,但至少我知道这是一个问题。除此之外,SSE 将在未来使用,在这种情况下,char-arrays - 与 int 数组不同 - 已经是打包格式。那么哪个版本会更快呢?