测试结果中有两点出乎意料:
1. LinkedList的内存占用很大,比List大了将近60%。
我没有细看为什么多出这么多内存占用。但是如果用我自己写的一个单链表,内存占用比List低。因为工作重点不在这里,我也不打算细究为什么了。但是感觉上,LinkedList的优势应该在小数据量,频繁添加删除的场景下。
2. SortedList的访问性能比Dictionary低。
一般认为向SortedList中添加节点的性能会比较低,因为它需要维护一个有序表,存在性能开销(当数据有序时,添加节点的开销大约是Dictionary的170%)。但是,事实上,对SortedList中节点的读写性能也要低于Dictionary(近7倍的开销)。这一点我觉得比较难以理解。
附件中是这次测试使用的程序,有兴趣的你,也许可以下载后试验一下,看看为什么是这样?
附件:https://files.cnblogs.com/Cajon/TestListPerformance.zip
powered by performancing firefox