请教是否比Java中的乘法和除法更快地移位?。净?

是否比Java中的乘法和除法更快地移位?。净?

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


一只萌萌小番薯
浏览 453回答 3
3回答

ABOUTYOU

几乎任何有价值的环境都会为您优化这一点。如果没有,你就会有更大的鱼来炸。说真的,不要再浪费一点思考这个。你会知道什么时候出现性能问题。运行探查器后,您将知道导致它的原因,并且应该非常清楚如何修复它。你永远不会听到有人说“我的应用程序太慢,然后我开始随机更换x * 2,x << 1一切都被修复了!”&nbsp;性能问题通常通过找到一种方法来减少工作量来解决,而不是通过找到一种方法来快速完成相同的工作。
打开App,查看更多内容
随时随地看视频慕课网APP