整数の四則演算(1)

基本的なところをおさえておく。
JScript5.6で、
いずれも100万回繰り返す。

ループ


// 281ms
for(var i = 0; i < n; i++) {
;
}

加算


// 375ms
for(var i = 0; i < n; i++) {
1 + 1;
}


// 384ms
for(var i = 0; i < n; i++) {
99999999 + 100000000;
}


// 401ms
for(var i = 0; i < n; i++) {
100000000 + 100000000;
}

どうも和が2億以上だと急に遅くなるらしい。
しかし、和が整数の範囲を超えるとまた速くなるらしい。


// 391ms
for(var i = 0; i < n; i++) {
1234567890 + 1234567890;
}

実数の加算なら遅くなる。


// 456ms
for(var i = 0; i < n; i++) {
12345678900 + 12345678900;
}

減算

加算とだいたい同じ。


// 375ms
for(var i = 0; i < n; i++) {
2 - 1;
}


// 459ms
for(var i = 0; i < n; i++) {
12345678900 - 1345678900;
}

乗算

(ここは書き直した)


// 401ms
for(var i = 0; i < n; i++) {
2 * 2;
}


// 413ms
for(var i = 0; i < n; i++) {
12345678901234567890 * 0.75;
}

64ビット整数の範囲を超えると遅くなる。