JSベンチ実測MEASURED, NOT RECALLED

    ↑↓ で選択、Enter で開く。Esc で閉じる。

    ホーム / 計測結果

    スプレッド構文の浅いコピーは `Object.assign` より約 1.4 倍遅い

    浅いコピーは Object.assign のほうが速い。差は 1.4 倍で、スプレッドの読みやすさと引き換えに払うコストとしては小さい。

    結果

    回目スプレッド構文`Object.assign(, obj)`倍率
    回目 10.8630.5651.53×
    回目 20.7550.5981.26×
    回目 30.8180.6361.29×

    中央値のばらつき: スプレッド構文 CV 5.5% / `Object.assign(, obj)` CV 4.9% / 倍率 CV 8.8%(3 回の実行から算出)

    測った条件

    10 個のキーを持つオブジェクトの浅いコピーを 20 万回.

    この数字が当てはまらない場面

    ホットループの中で毎フレームコピーする場合を除き、実測差が体感に出ることはまずない。

    再現する

    cd bench
    node --expose-gc micro-fixed.mjs --out ../data/run.json --samples 21

    同じ機械で 3 回実行し、median のばらつきが 10% 以内なら同じ結論になります。手元で違う結果が出たら このサイトについて から連絡してください。撤回します。