gpt4 book ai didi

通过位移位快速乘法提高性能

转载 作者:行者123 更新时间:2023-12-04 06:11:33 28 4
gpt4 key购买 nike

我最近阅读了很多关于编程实践、设计等方面的文章,并对将乘法实现为位移位的真正性能提升感到好奇。

我正在阅读的示例鼓励将 x*320 实现为 (x<<8 + x<<6) 作为常用例程。

这在现代编译器中有多重要?如果有显着的性能提升,编译器能否根据需要自动将这些“简单的乘法”转换为位移?

有没有人不得不在他们的项目中以这种方式进行位移以实现更快的乘法?您可以期待哪些性能提升?

最佳答案

是的,编译器会为您完成大部分工作。他们对此也很有攻击性。所以很少需要自己做。 (尤其是以可读性为代价的)

然而,在现在的现代机器上,乘法并不比移位慢得多。因此,任何需要超过 2 次移位的数字最好使用乘法来完成。编译器知道这一点,并会做出相应的选择。

编辑:

根据我的经验,除非代码是通过 SSE 内在函数矢量化的(编译器并没有真正尝试优化),否则我在这方面永远无法超越编译器。

关于通过位移位快速乘法提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718287/

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