代码之家  ›  专栏  ›  技术社区  ›  GurdeepS

添加程序集对应用程序有什么影响?

  •  1
  • GurdeepS  · 技术社区  · 14 年前

    如果我添加程序集,它对我的应用程序有什么影响?一个程序集在占用空间或运行时性能方面是否有很大的不同?未使用的程序集在编译过程中是否会被丢弃?

    谢谢

    2 回复  |  直到 14 年前
        1
  •  1
  •   Henk Holterman    14 年前

    程序集列在引用应用程序的清单中。仅此一项“管理”的开销就非常小。程序集只会在需要时加载(逐件),但编译器/链接器不会删除未使用的程序集。

    引用程序集但不使用它的主要结果是,它必须在应用程序启动时出现。

        2
  •  1
  •   Hans Passant    14 年前

    是的,这很重要。它会使应用程序的冷启动变慢。当你以前没有运行过你的应用程序时,比如几分钟前,DLL在文件系统缓存中,硬盘必须找到DLL,以便CLR可以加载它。自从我开始测量它以来,它所需要的时间是非常恒定的,大约50毫秒才能找到一个文件。硬盘越来越大,速度越来越快,但找到一个文件所需的时间是一个除以另一个,而且是一致的。忽略SSD。

    这是人的时间尺度,不是机器尺度。你的用户愿意用多长时间来启动你的程序。主观性很强,一个一秒钟都做不了什么的程序就太多了。一个做很多事情的程序会显示一个非常漂亮的启动屏幕,比如visualstudio,它会让你在接下来的5秒钟内保持忙碌。一开始。