gpt4 book ai didi

c - 使用按位运算符的 Mandelbrot 函数

转载 作者:行者123 更新时间:2023-11-30 20:07:23 26 4
gpt4 key购买 nike

我正在渲染 buddhabrot 分形,我正在寻找一些优化/加速,我想知道尝试使用按位运算符执行 z = z^2 + c 是否值得。我已经将其简化了一点。

   double zi2 = z.i*z.i;
double zr2 = z.r*z.r;
double zir = z.i*z.r;
while (iterations < MAX_BUDDHA_ITERATIONS && zi2 + zr2 < 4) {

z.i = c.i;
z.i += zir;
z.i += zir;
z.r = zr2 - zi2 + c.r;
zi2 = z.i*z.i;
zr2 = z.r*z.r;
zir = z.i*z.r;
iterations++;
}

最佳答案

z^2+c 可以封装在 fused multiply-accumulate 中手术。这在某些处理器上可以作为单指令使用,并且在其他处理器上也可以使用。在它不可用的处理器中,它通常是经过优化或可优化的。例如,C99 定义 fma提供它的函数系列。所以我想说,你想要的事情可能已经发生了,如果没有发生,有一个非常可读的方法来保证它发生了。

一般来说,每当你的潜意识低语说用你刚刚梦想的可读性较差、维护性较差、更难调试的解决方案 X 替换可读、可维护的代码会更快时,你就应该高度怀疑。可读性和可维护性非常重要,不仅对于编写好代码,而且对于共享代码以及讨论其正确性也非常重要;计算机速度很快,编译器也相当不错。

关于c - 使用按位运算符的 Mandelbrot 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com