連想配列 setとmapはどちらが速いのか
Linked List Cycleを解くときに連想配列を使用したが、連想配列のset、unordered_set、map、unordered_mapはどれが速いのか比べてみた。比較方法はLinked List Cycleの実効値を比べる。
unorderedはソートを行わないので、unordered有りが速い予想ではあるが、setとmapはどちらが速いのだろうか?
結果
配列名 | 速度(ms) | memory(MB) |
---|---|---|
unordered_map | 24 | 11.2 |
map | 32 | 11 |
unordered_set | 24 | 10.5 |
set | 32 | 11 |
unorderdのある方とない方はそれぞれが同じ速度となった。ただし使用Memoryが異なっていた。
結論
どちらも使える状況ならば、好きな方を使えばいいなという結果でした。