Pyベンチ実測MEASURED, NOT RECALLED

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

    例外で分岐 は in で判定 より約 4.11 倍遅い

    存在しないキーへのアクセスは、例外で受けるより `in` で判定したほうが速い、という結果です。

    結果

    実行例外で分岐in で判定倍率
    実行 147.06711.8843.96×
    実行 249.67812.1014.11×
    実行 349.94912.1394.11×

    3 回のばらつき: 例外で分岐 CV 2.6% / in で判定 CV 0.9% / 倍率 CV 1.7%

    47.07 ms11.88 ms実行149.68 ms12.10 ms実行249.95 ms12.14 ms実行3例外で分岐 (#b9c6d2) / in で判定 (#2f6f4f)

    測った条件

    dict への 20 万回のアクセス、全件ミス(キーが存在しない)。

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

    ヒット率が高い場合は例外側が有利になります(例外は発生時だけコストがかかるため)。

    再現コマンド

    cd bench && python micro_py.py --out ../data/run.json --samples 21