我可以在 C 中的数组上使用 Duff 的设备吗?

标签 c optimization duffs-device

我这里有一个循环,我想让它运行得更快。我正在传递一个大数组。我最近听说Duff's Device 可以应用于这个for循环吗?有什么想法吗?

for (i = 0; i < dim; i++) {
    for (j = 0; j < dim; j++) {
        dst[RIDX(dim-1-j, i, dim)] = src[RIDX(i, j, dim)];
    }
}

最佳答案

请不要使用 Duff 的设备。一千个维护程序员会感谢你。我曾经在一家培训公司工作,有人认为在他们的 C 编程类(class)的前十页介绍该设备很有趣。作为一名讲师,这是不可能处理的,除非(正如编写那部分类(class)的人显然所做的那样)你相信“kewl”编码。

不用说,我尽快从类(class)中删除了这件事。

关于我可以在 C 中的数组上使用 Duff 的设备吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2747808/

相关文章:

python - 当矩阵中的行多 10 倍时,为什么 np.dot 不会(至少)长 10 倍

python - numpy/scipy 中非线性函数的数值梯度

javascript - 正则表达式测试,有更好的方法来写这个吗?

c++ - CLion无法编译新项目

c - 通过结构体访问可变长度内存对象是否定义良好?

c - 指向结构体引用的指针数组

c - 开关盒奇怪的范围

c - 几个 getchar 电话

c++ - 跳转到 if(false) block 有什么问题吗?

c - 在 C 中混合 'switch' 和 'while'