C#程序中类数量对程序启动的影响详解

2020-01-05 09:36:00王振洲

空控制台窗口运行时间

第一次:138ms
第二次:110ms
第三次:116ms

写一个空白的类是很简单的,我使用了下面的代码创建随机的类的名


 class WhairchooHerdo
 {
  public string LemgeDowbovou()
  {
   var zarwallsayKeesar = (char) _ran.Next('A', 'Z' + 1);
   var lardurDairlel = new StringBuilder();
   lardurDairlel.Append(zarwallsayKeesar);
   for (int i = 0; i < 5; i++)
   {
    lardurDairlel.Append((char)_ran.Next('a', 'z'));
   }

   return lardurDairlel.ToString();
  }

  private Random _ran = new Random();
 }

然后使用下面代码创建随机的类


  private static void RelawcereMirouxayTibe()
  {
   var terebawbemTitirear = new WhairchooHerdo();

   for (int i = 0; i < 1000; i++)
   {
    var pereviCirsir = terebawbemTitirear.LemgeDowbovou();

    var nemhaSibemnoosa = $@"
using System;
using System.Collections.Generic;
using System.Text;

namespace LecuryouWuruhempa
{{
 class {pereviCirsir}
 {{
  public string Foo {{ get; set; }}
 }}
}}";

    var jisqeCorenerairTurpalhee = new DirectoryInfo("林德熙临时文件");

    jisqeCorenerairTurpalhee.Create();

    File.WriteAllText(Path.Combine(jisqeCorenerairTurpalhee.FullName, pereviCirsir + ".cs"), nemhaSibemnoosa);
   }
  }

这样就可以创建 1000 个类,创建一个空白的控制台项目,引用这些类

然后运行一个有1000个类的空白控制台项目,第一次运行的时间居然是 67ms 十分少

C#,类数量,程序启动

我同样运行3次,收集到下面信息