在上周我收到了一些代码,并被要求提高性能。所以从这个工作开始,但很快我就看到他们使用了很多HashSet<T>
个对象来存储大量的对象(10000到100000多个对象)。在代码中,出于性能原因,他们使用HashSet<T>
。
他们唯一做的就是用对象填充HashSet,然后使用一些Linq在多个集合之间执行查询。大多数查询都加入了1或n个HashSet,或者使用First()
或Where()
从集合中检索特定对象。
我想知道与普通List<T>
相比,我们是否获得了任何性能优势?因为他们在代码中使用的所有Linq扩展方法都是为IEnumerable<T>
编写的。
在互联网上有很多文章说List会更快,但是有人说HashSet比List更好地处理大量的集合。
希望有人能给我更多建议。
感谢。