在C中快速复制的模式

时间:2009-09-11 08:29:11

标签: c++ c design-patterns

我曾经看过编程模式(不是设计),如何实现缓冲区的快速复制。它包括一个交错循环和开关。问题是,它大部分时间都复制了4个字节,只使用较小的数据类型复制了缓冲区的最后几个字节。

有人可以告诉我它的名字吗?它以一个人的名字命名。它是在C中完成的,编译器输出几乎是最优的。

4 个答案:

答案 0 :(得分:12)

使用memcpy(),它是标准的,可移植的,并且在很多情况下也很好地进行了优化。

答案 1 :(得分:11)

听起来你在考虑Duff's device

答案 2 :(得分:2)

答案 3 :(得分:2)

它被称为Duff的设备,请参阅Wikipedia

如果你想实现/利用快速拷贝,那么首先看看你的编译器的实现;它可能会使用更复杂的算法,使用CPU的高级功能。例如,英特尔编译器具有非常复杂的版本。