gpt4 book ai didi

java - 位移 X 比位移 X 倍快吗?

转载 作者:行者123 更新时间:2023-11-29 10:19:02 24 4
gpt4 key购买 nike

问题#1

在 Java 中,移位是否比使用单个语句将 移位相同数的代价高出数倍?

例如,是

int x = 5;
x = x << 16;

int x = 5;
for (int i=0; i<16; ++i) {
x = x << 1;
}

更进一步,关于

int x = 5;
for (int i=0; i<16; ++i) {
x = x*2;
}

编辑:“x << 16”的精确表现是什么?它与“x << 1”的速度相同吗?

问题#2

有没有在线资源可以用来确定 Java 中的各种按位运算性能,这样我就不必浪费 StackOverflow 用户的时间了? :-)

最佳答案

...so that I do not have to waste the time of StackOverflow users?

你也在浪费自己的时间。编写您的应用程序的完整原型(prototype),对其进行概要分析,然后对其进行优化。我敢肯定,您会发现瓶颈不是是因为移位。

这在很长一段时间内都有过早优化的味道。

What is the precise performance of "x << 16"? Is it the same speed as "x << 1"?

是的,是一样的。但从技术上讲,它实际上取决于编译器、JVM 实现、JIT、CPU 架构等。Java 规范在这种情况下对执行时间没有任何限制。

关于java - 位移 X 比位移 X 倍快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10315493/

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