ack*_*ack 19 math optimization trigonometry
可能重复:
三角函数如何工作?
什么实际上用于计算三角函数,如Sin,Cos,Tan和Atan?
我想我已经在我的代码中找到了一个优化,我可以避免使用任何这些函数,并将问题基于斜率而不是角度.这意味着代替上述trig函数的一对除法运算.但我想更多地了解那些触发函数的内容,以便我可以比较我的新代码(从基本数学运算的数量的角度来看).或许我刚刚发现了一种更迂回的做同样事情的方式,或者更糟糕的是,引入了一种效率较低的方法.
使用C++和Python但我认为这些与语言无关,数学运算成本与最原始的操作相关.
你需要自己剖析一下.根据我的结果,触发功能大约需要100 ns,分割大约需要20 ns.这可以很容易地转换为答案.但同样,最重要的是你在硬件上进行了分析.这样您就可以获得适合您系统的正确答案和知识.
现代x86处理器在其指令集中包含trig函数,但它们需要很多周期才能执行.所以如果你在这样的处理器上,并且如果你的代码没有依赖关系(即你不需要一次罪计算的结果来启动下一个),那么你可能不会更快而不是直接使用sin和cos,因为它们将完全流水线化,实现每周期1的有效速率.