I don't think std::set is the right container for this purpose - it has pretty big overhead and we've fought hard to get decent performance on this thing. There's a better essay about this somewhere but I can't find it right now - here's a shorter one :

http://cppwisdom.quora.com/std-map-and-std-set-considered-harmful

If behaviour hasn't changed from before then I don't mind leaving it for now - I just wanted to make sure it wasn't going to cause new problems.