Boost.MultiIndexの比較ってどうやってるんだろ、とふと気になったのでドキュメント見てみたら、
最初に指定されたインデックスでの比較をしてるみたいです。
/* Comparison. Simple forward to first index. */ template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator==( const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x, const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y) { return get<0>(x)==get<0>(y); } ...
最初にhashed_unique/hashed_non_uniqueを持ってくると遅そう。