JSベンチ実測MEASURED, NOT RECALLED

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

    ホーム / 計測結果

    `startsWith` は正規表現 `/^s1/` より 3.9 倍速い

    前方一致の判定は、正規表現を評価するより startsWith のほうが速い。正規表現リテラルをループ外に出しても 3.9 倍の差が残る。

    結果

    回目正規表現 `^s1``String.startsWith`倍率
    回目 13.8210.9444.05×
    回目 23.3250.8623.86×
    回目 33.0750.8363.68×

    中央値のばらつき: 正規表現 `^s1` CV 9.1% / `String.startsWith` CV 5.2% / 倍率 CV 3.9%(3 回の実行から算出)

    測った条件

    100,000 個の文字列に対し、接頭辞判定を 1 回ずつ.

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

    判定パターンが複雑(複数候補・後方一致・境界条件あり)なら正規表現のほうが有利になる。

    再現する

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

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