1. 程式人生 > >比較java右移運算與除法運算速度

比較java右移運算與除法運算速度

這裡用到的時間單位是毫微秒。(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);
}