基本的なところをおさえておく。
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ビット整数の範囲を超えると遅くなる。