NISHIO Hirokazu[Translate]
Python list v.s. set
リストへのappendに比べて、setへのaddは70nsほど遅い
ハッシュ値の計算コストなど
これはC世界のコストなのでPyPyとかでも縮みにくい
結果ABC176で発生したように「setでuniqueにするよりループを空回りさせた方が速い」という現象が起こる
python
In [77]: %%timeit ...: xs = [] ...: xs.append(1) ...: 71.9 ns ± 1.01 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each) In [78]: %%timeit ...: xs = set() ...: xs.add(1) ...: 141 ns ± 0.457 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]