Duff's Device —— 一种优化的复制方法

来源:互联网 发布:linux修改网卡ip地址 编辑:程序博客网 时间:2024/05/16 07:52

2011-05-19 wcdj

 

 

达夫设备的思路:
把原数组以8个 int 为单位分成若干个小组,复制的时候以小组为单位复制,即一次复制8个 int 。也就是说,在传统的memcpy函数中以一次比较运算的代价换来1个int的复制,而在达夫设备中,却能以一次比较运算的代价换来8个int的复制。而switch语句则是用来处理分组时剩下的不到8个的int(这些剩余的不是数组最后的,而是数组最开始的),很巧妙。

 

 

 

参考:
论坛上的一个相关帖子
达夫设备的详细说明