gpt4 book ai didi

c# - 未使用的函数/汇编方法是否加载到内存中?

转载 作者:行者123 更新时间:2023-12-03 17:10:20 24 4
gpt4 key购买 nike

当调用该程序集的任何方法时,JIT 会将程序集加载到内存中,但是如果在应用程序集时使用了某些方法而未使用某些方法,这些方法是否仍会加载到内存中?

此外,如果将程序集加载到内存中并包含大量未使用的函数和方法,是否会影响该应用程序的性能?

最佳答案

正如@Dennis 所说,加载和 JIT 是 CLR 中两个不同子系统完成的两个不同操作。但它们是依赖的。

你在上下文中有两个问题,要回答它们

  1. JIT 不加载程序集,而是由加载器加载。所有类及其成员的元数据都加载到内存中,但方法本身仅按需进行 JIT(即在调用它们时)。

  2. JIT 方法不会在内存中停留很长时间,除非有人引用。 CLR 将根据清理程序清理它们。如果稍后需要该方法,则加载该方法并再次重新编译(JIT)。因此,在理想情况下,未使用的功能不会影响应用程序性能。

关于c# - 未使用的函数/汇编方法是否加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14452546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com