memcpy与memmove的速度差别

本文对比了VC6.0环境下memcpy与memmove两种函数在不同缓存情况下的性能表现。通过对30M数据进行前后复制操作,发现memmove在多数情况下展现出更好的性能,尤其是在跨缓存复制时优势更为明显。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

以上二者结果皆相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值