比较java右移运算与除法运算速度

版权声明:转载请标明出处哦 https://blog.csdn.net/easy_purple/article/details/84324927

这里用到的时间单位是毫微秒。(1秒=10^3毫秒=10^6微秒=10^9毫微秒 )

运行的时间如下

(计算时间,每次计算出来的时间或多或少都会有差别)

(times)运算多少次 time1(运算花费的时间)【单位:微秒】 time1(运算花费的时间)【单位:微秒】
10000 64 63
100000 686 657
1000000 1600(不稳定) 800(不稳定)
10000000 1700 1200(不稳定)
100000000 1600 1100

结论

右移运算比除法稍微快一点,但是之间的差距用肉眼是看不出来的

代码:

public static void main(String[] args) {
	int s = 0;
	long temp = System.nanoTime();
	int times=10000;
	for (int i = 0; i < times; i++) {
		s = 40 / 2;
	}
	long time1=(System.nanoTime() - temp)/1000;
	temp = System.nanoTime();
	for (int i = 0; i < times; i++) {
		s = 40 >> 1;
	}
	long time2=(System.nanoTime() - temp)/1000;
	System.out.println(time1+"  "+time2);
}

猜你喜欢

转载自blog.csdn.net/easy_purple/article/details/84324927