在C中快速复制的模式

Tob*_*ner 3 c c++ design-patterns

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

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

Mic*_*rny 12

使用memcpy(),它是标准的,便携式的,并且在许多情况下也很好地进行了优化.

  • Duff的设备经过优化,可以降低测试循环条件的成本,但最常见的形式是一次复制一个字节.memcpy通常针对体系结构的字大小进行优化,可能还包括一些展开以减少测试次数,并且只复制未对齐缓冲区两端的字节 (3认同)

Lau*_*ves 11

听起来你在想Duff的设备.