VC6.0:
1、memcpy 从一块缓存到另一块缓存复制30M数据耗时 (12.6 + 11.5 + 11.8 + 11.7 + 11.3 ) / 5 = 11.78ms
2、memmove 从一块缓存到另一块缓存复制30M数据耗时 (10.1 + 10.2 + 10.3 + 12.6 + 11.1)/ 5 = 10.86ms
不同的缓存地址,memmove 与memcpy 速度相当,memmove 略占上风。
1、memcpy 从同一块30M缓存的最后20M复制到起始位置耗时 (4.4 + 4 + 3.9 + 4.1 + 4.3)/ 5 = 4.14ms
2、memmove 从同一块30M缓存的最后20M复制到起始位置耗时 (3.8 + 3.8 + 3.8 + 3.8 + 3.8)/ 5 = 3.80ms
同一块缓存,从后往前复制,memmove 与memcpy 速度相当,memmove 略占上风。
1、memcpy 从同一块30M缓存的起始位置复制20M到最后(从10M开始的位置)耗时 (3.9 + 4.2 + 4 + 3.9 + 4.1)/ 5 = 4.02ms
2、memmove 从同一块30M缓存的起始位置复制20M到最后(从10M开始的位置)耗时(3.9 + 4.1 + 3.9 + 4 + 4.1)/ 5 = 4.00ms
同一块缓存,从前往后复制,memmove 与memcpy 速度相当。
以上二者结果皆相同。