スプレッド構文の浅いコピーは `Object.assign` より約 1.4 倍遅い
浅いコピーは Object.assign のほうが速い。差は 1.4 倍で、スプレッドの読みやすさと引き換えに払うコストとしては小さい。
結果
| 回目 | スプレッド構文 | `Object.assign(, obj)` | 倍率 |
|---|---|---|---|
| 回目 1 | 0.863 | 0.565 | 1.53× |
| 回目 2 | 0.755 | 0.598 | 1.26× |
| 回目 3 | 0.818 | 0.636 | 1.29× |
測った条件
10 個のキーを持つオブジェクトの浅いコピーを 20 万回.
この数字が当てはまらない場面
ホットループの中で毎フレームコピーする場合を除き、実測差が体感に出ることはまずない。
再現する
cd bench
node --expose-gc micro-fixed.mjs --out ../data/run.json --samples 21 同じ機械で 3 回実行し、median のばらつきが 10% 以内なら同じ結論になります。手元で違う結果が出たら このサイトについて から連絡してください。撤回します。