シフト演算
// 382ms
for(var i = 0; i < n; i++) {
4 >> 1;
}
加算と同等。
除算
// 481ms
for(var i = 0; i < n; i++) {
4 / 2;
}
整数の範囲を外れてても同等。
// 473ms
for(var i = 0; i < n; i++) {
12345678900 / 3456789;
}
結果が64ビット整数の範囲を超えると遅くなる。
// 780ms
for(var i = 0; i < n; i++) {
12345678901234567890 / 1.33;
}
剰余
剰余のほうが除算より遅い。
// 627ms
for(var i = 0; i < n; i++) {
4 % 3;
}
商が大きくてもあまり変わらない。
// 592ms
for(var i = 0; i < n; i++) {
12345678901234567890 % 1.33;
}
剰余が64ビット整数の範囲を超えると遅い。
// 931ms
for(var i = 0; i < n; i++) {
12345678901234560890 % 12345678901234567890;
}
整数の商を求めるには、
// 917ms
for(var i = 0; i < n; i++) {
(4 - 4 % 3) / 3;
}
当然だが、これは非常に遅い。
// 1906ms
for(var i = 0; i < n; i++) {
Math.floor(4 / 3);
}