以前,set型とlist型のイテレーション速度 - Screaming Loudを比較したが,frozenset型に関してはどうなのだろうか?と疑問を持ち.比較してみた.
実験の仕方は同じだが,以下のようになった.
set 12.19 list 11.01 frozenset 22.92
frozensetのイテレーション速度の遅さは尋常じゃなかった.
setの本領である,特定のキーを探すということに関しては,さすがにfrozensetが1位であるようだ.
List, Dict, Set, and Frozen Set Performance in Python
追記:
今ではpypyはデフォルトのpythonより早くなっている.
そこでpypyで実験してみたら,pypyではfrozensetのイテレーションがかなり早くなっていた.
set : 2.964186 list : 0.548034 frozenset : 1.564097