`
jgsj
  • 浏览: 966048 次
文章分类
社区版块
存档分类
最新评论

memcpy与memmove的速度差别

 
阅读更多

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 速度相当。

以上二者结果皆相同。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics