JSベンチ実測MEASURED, NOT RECALLED

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

    ホーム / 計測結果

    `toFixed` は `Intl.NumberFormat` より約 1.6 倍遅い

    同じインスタンスを使い回すなら、Intl.NumberFormat のほうが toFixed より速い。ロケール対応の書式が欲しいなら速度面の妥協は不要。

    結果

    回目`Number.toFixed(2)``Intl.NumberFormat`(小数 2 桁・キャッシュ済み)倍率
    回目 119.98513.2411.51×
    回目 224.67814.3821.72×
    回目 322.53613.9601.61×

    中央値のばらつき: `Number.toFixed(2)` CV 8.6% / `Intl.NumberFormat`(小数 2 桁・キャッシュ済み) CV 3.4% / 倍率 CV 5.2%(3 回の実行から算出)

    測った条件

    100 万回の小数整形(Intl のインスタンスはループ外で 1 回だけ生成).

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

    Intl のインスタンスを毎回生成すると逆転する。桁区切りや通貨記号が必要ないなら toFixed でも十分。

    再現する

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

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