Mar*_*ker 1 java performance primitive
使用强制long转换为int变量赋值是更快还是使用long变量更快?
或者它是一种选择,在消耗更多内存和更多处理之间?
这是一个示例测试:
import java.time.Duration;
import java.time.Instant;
public class NanoTest {
final int loop = 20000;
public void testNoCasting() {
long sum = 0;
long time = System.currentTimeMillis();
for (int i = 0; i < loop; i++) {
sum += System.currentTimeMillis() - time;
}
System.out.println(sum);
}
public void testIntCasting() {
int sum = 0;
long time = System.currentTimeMillis();
for (int i = 0; i < loop; i++) {
sum += (int) (System.currentTimeMillis() - time);
}
System.out.println(sum);
}
public static void main(String[] args) {
NanoTest nt = new NanoTest();
Instant start = Instant.now();
nt.testNoCasting(); // or nt.testIntCasting();
Instant end = Instant.now();
System.out.print("Duration: ");
System.out.println(Duration.between(start, end).getNano());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |