ループ展開使ってますか? 8の倍数でバルクループさせると、普通に回すより効率いいですよ? 定番のループ展開も 先にまとめてやる 後からまとめてやる の2つの方法で記述する事ができます。 // loop unwinding type1 - 先にやる function loop1(n) { var now = Date.now(); var rv = [], i = 0, iz = n & 0xfffffff8; for (; i < iz; i += 8) { // rv.push(i, i+1, i+2, i+3, i+4, i+5, i+6, i+7); } for (; i < n; ++i) { // rv.push(i); } console.log(Date.now() - now); } // loop unwinding type2 - 後でやる function loop2