精确拷贝到字节,三种拷贝方式:1. movsd 2.SSE 系列 + 软预取 3.SSE系列+硬预取方式,要注意的是,不是所有的拷贝SSE都更优,正如为了行进100米,是开飞机还是步行咧?嘿嘿。所以,对于小字节量拷贝用movsd、 movsb过渡。
测试平台(CPU-Z):
Intel(R) Celeron(R) CPU 2.66GHz
支持的指令集:MMX,SSE(1,2,3) ,EM64T
一级数据缓存:16KB
二级数据缓存:256KB
测试32.1 MB文件存拷贝:
_fast_memcpy1 (movsd) 33 ms
_fast_memcpy9 (SSE 系列+软预取) 23 ms
_block_prefetch (硬预取 block_size 8KB) 22 ms
代码: