Use unordened sets where better
Issue #329
new
Currently we only use (ordered) sets.
Unordened sets in C++ have a better performance (amortised constant cost) for retrieving a single element (the .find(X) operation). For iterating over subsets (the .cbegin iterator etc.) however, it has a higher cost.
It might be worthwile to see if there are sets where we only use the .find operation and use unordened sets for these to improve performance.
source: http://www.cplusplus.com/reference/unordered_set/unordered_set/