memcpy赋值速度一般来说比多重for循环更快,对于其底层原理十分感兴趣,面向百度,总结了一些答案,不是很专业,就是理解个大概
总的来说有这么两个主要原因:
1. SIMD:就是使用多个微处理器对同一个数据进行操作,其实就是并行操作
参考:https://zhuanlan.zhihu.com/p/55327037
2. 内存对齐:memcpy会先进行内存对齐,这是一个常见的优化技术,通过内存对齐,于是进而可以进行大内存数据操作,简单来说就是可以一次性对一片内存的数据进行操作
memcpy赋值速度一般来说比多重for循环更快,对于其底层原理十分感兴趣,面向百度,总结了一些答案,不是很专业,就是理解个大概
总的来说有这么两个主要原因:
1. SIMD:就是使用多个微处理器对同一个数据进行操作,其实就是并行操作
参考:https://zhuanlan.zhihu.com/p/55327037
2. 内存对齐:memcpy会先进行内存对齐,这是一个常见的优化技术,通过内存对齐,于是进而可以进行大内存数据操作,简单来说就是可以一次性对一片内存的数据进行操作