3 回測って、同じ答えが出た数字だけ
Node/V8 上で 33 ケースの純JS演算を計測しました。各ケースを独立に 3 回実行し、中央値のばらつき(変動係数)が 10% を超えたものは公開していません。生データはリポジトリに置いてあります。
公開している計測
| 計測 | 倍率 | 3 回のばらつき |
|---|---|---|
| `+=` で文字列を繋ぐほうが `push + join` より 3.6 倍速い | 3.57× | CV 0.3% |
| `startsWith` は正規表現 `/^s1/` より 3.9 倍速い | 3.86× | CV 3.9% |
| `for…in` は `Object.keys` より 17% 遅い | 1.17× | CV 2.6% |
| `Float64Array` の合計は普通の配列とほぼ同じ(差 6%) | 0.95× | CV 2.4% |
| `Array.includes` は `Set.has` より約 28 倍遅い | 29.43× | CV 6.5% |
| `structuredClone` は JSON 往復より約 2.4 倍遅い | 2.43× | CV 9.2% |
この計測が答えること・答えないこと
- 答える: 同じ入力規模で、どちらの書き方が速いか(Node/V8 上で)
- 答えない: ブラウザ差、メモリ使用量、レンダリング性能、別の入力規模での順位
測り方・端末・再現コマンドは 測定プロトコル にまとめています。撤回した結論も同じページに残しています。