gpt4 book ai didi

c# - Java 中的移位比乘法和除法更快吗? 。网?

转载 作者:行者123 更新时间:2023-12-01 23:30:36 24 4
gpt4 key购买 nike

如果您碰巧使用 2 的幂,那么在大多数(甚至可能是所有)CPU 上,左移和右移位显然比乘法和除法运算更快。但是,对于某些读者和某些算法来说,它会降低代码的清晰度。对于性能来说,位移位真的是必要的吗?或者我可以期望编译器或虚拟机注意到这种情况并对其进行优化(特别是当 2 的幂是文字时)?我主要对 Java 和 .NET 行为感兴趣,但也欢迎对其他语言实现的见解。

最佳答案

几乎任何值得的环境都会为您优化这一点。如果没有,你还有更大的鱼要煎。说真的,不要再浪费一秒钟思考这个问题。当出现性能问题时您就会知道。运行分析器后,您就会知道导致问题的原因,并且应该相当清楚如何修复它。

你永远不会听到有人说“我的应用程序太慢了,然后我开始随机用 x * 2 替换 x << 1 ,一切都修复了!”性能问题通常是通过找到一种方法来减少一个数量级的工作来解决的,而不是通过找到一种方法来使相同的工作速度提高 1%。

关于c# - Java 中的移位比乘法和除法更快吗? 。网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34483643/

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