zoukankan      html  css  js  c++  java
  • Dictionary 比List占用更多的内存

    通过使用Dictionary和List创建数据, 比较那个占用的内存更多

    class Program
        {
            static void Main(string[] args)
            {
                long start = GC.GetTotalMemory(true);
                //MultData testData=new MultData();
    
    
                //var gcMultListStr = MultData.MultListStr();
                var gcMultDicStr = MultData.MultDicStr();
                //Test1 test = new Test1();
                //Test2 test = new Test2();
                GC.Collect();
                GC.WaitForFullGCComplete();
                long end = GC.GetTotalMemory(true);
                //所消耗的内存
                long useMemory = end - start;
                Console.WriteLine("use memory: " + useMemory);
                Console.Read();
                //4194368,4194356
                //
                //536872908,536872896
                //
                //67110884(List),239981092(Dictionary) Dictionary比List消耗很多性能
            }
        }
    
    public class MultData
        {
            public static List<int> MultListStr()
            {
                //监控创建所用到的时间
                System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
                watch.Start();
                List<int> list = new List<int>();
                for (int i = 0; i < 10000000; i++)
                {
                    list.Add(i);
                }
                watch.Stop();
                //显示创建时间
                var useTime = (double)watch.ElapsedMilliseconds / 1000;
                Console.WriteLine("Use time: " + useTime);
                return list;
    
            }
            public static Dictionary<int, int> MultDicStr()
            {
                //监控创建所用到的时间
                System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
                watch.Start();
                Dictionary<int, int> dic = new Dictionary<int, int>();
            
                for (int i = 0; i < 10000000; i++)
                {
                    dic.Add(i, i);
                }
                watch.Stop();
                //显示创建时间
                var useTime = (double)watch.ElapsedMilliseconds / 1000;
                Console.WriteLine("Use time: " + useTime);
                return dic;
    
            }
        }
  • 相关阅读:
    04.设备
    03.抖音课程大纲2
    02.抖音课程大纲
    01 抖音直播现状
    1.14常见的5种字符编码特征
    1.13BeautifulSoup 剔除 HTML script 脚本;删除指定 class标签
    Ng Alain使用
    MediatR
    RN错误随笔
    1.RN环境搭建,创建项目,使用夜神模拟调试
  • 原文地址:https://www.cnblogs.com/2zhyi/p/3116591.html
Copyright © 2011-2022 走看看