dict.fromkeys は set() で重複除去 より約 1.49 倍遅い
重複除去は `dict.fromkeys` のほうが `set()` より約 1.5 倍速く、しかも順序が保たれます。
結果
| 実行 | set() で重複除去 | dict.fromkeys | 倍率 |
|---|---|---|---|
| 実行 1 | 5.326 | 8.003 | 0.67× |
| 実行 2 | 5.440 | 8.207 | 0.66× |
| 実行 3 | 5.757 | 8.086 | 0.71× |
3 回のばらつき: set() で重複除去 CV 3.3% / dict.fromkeys CV 1.0% / 倍率 CV 3.4%
測った条件
30 万要素(5,000 種)の重複除去。
この数字が当てはまらない場面
順序が不要なら差は小さい。ハッシュ可能な型のみ。
再現コマンド
cd bench && python micro_py.py --out ../data/run.json --samples 21