zoukankan      html  css  js  c++  java
  • 出乎意料

    因为工作需要,写了个简单的测试程序测试了一下List<T>, LinkedList<T>, Dictionary<TKey, TValue>, SortedList<TKey, TValue>的性能。

    测试结果中有两点出乎意料:
    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

  • 相关阅读:
    Web后台项目学习2(代码部分)
    Web后台项目学习
    JDBC
    爬虫视频
    asyncio
    一篇做实验的随笔
    day14
    day13
    html+css 习题
    js-练习题
  • 原文地址:https://www.cnblogs.com/Cajon/p/TestPerformanceOfCollection.html
Copyright © 2011-2022 走看看