.net 从其他程序集中加载类是否会导致性能损失?
下面是一个场景。我构建了一个用于执行存储过程的数据包装类。我想在其他项目中使用这个类。众所周知,数据层代码通常必须尽快执行,以避免瓶颈.net 从其他程序集中加载类是否会导致性能损失?,.net,asp.net,performance,assemblies,.net,Asp.net,Performance,Assemblies,下面是一个场景。我构建了一个用于执行存储过程的数据包装类。我想在其他项目中使用这个类。众所周知,数据层代码通常必须尽快执行,以避免瓶颈 所以我的问题是,如果我要在自己的程序集中构建数据类,它更容易分发到其他解决方案,这会不会对类本身造成任何加载时间损失?另一种方法是将类文件复制并粘贴到每个项目中。您意识到,整个框架也属于其他程序集的范畴 我认为这里涉及的时间尺度无关紧要,不会影响您的流程。您知道,整个框架也属于其他程序集的范畴 我认为此处涉及的时间尺度无关紧要,不会影响您的流程。您应该注意,虽然
所以我的问题是,如果我要在自己的程序集中构建数据类,它更容易分发到其他解决方案,这会不会对类本身造成任何加载时间损失?另一种方法是将类文件复制并粘贴到每个项目中。您意识到,整个框架也属于
其他
程序集的范畴
我认为这里涉及的时间尺度无关紧要,不会影响您的流程。您知道,整个框架也属于
其他程序集的范畴
我认为此处涉及的时间尺度无关紧要,不会影响您的流程。您应该注意,虽然加载程序集会带来非零(尽管可能微不足道)成本,但在几乎所有情况下,每个AppDomain只会发生一次,因此瓶颈问题不值得关注。您应该注意,虽然加载程序集会带来非零(尽管可能微不足道)成本,但在几乎所有情况下,每个AppDomain只会发生一次瓶颈问题,因此瓶颈问题不值得关注。当您需要另一个程序集的某种类型时,JIT会首先加载类型。
它首先加载程序集本身,然后加载包含的所有类型
在这之后,类型将被存储在内存中,并且在构建它们时不会受到任何惩罚
每个AppDomain都是如此。但您可能只使用了一个
因此,您提到的性能问题只能在pet组件加载后发生
如果您担心这可能会在不应该触发的时候触发,您可以选择预先预加载所有需要的程序集()。当您需要另一个程序集的某些类型时,JIT会加载类型。
它首先加载程序集本身,然后加载包含的所有类型
在这之后,类型将被存储在内存中,并且在构建它们时不会受到任何惩罚
每个AppDomain都是如此。但您可能只使用了一个
因此,您提到的性能问题只能在pet组件加载后发生
如果您担心这可能会在不应该的情况下触发,您可以选择预先加载所有需要的程序集()。是的,我知道这一点,但我只是好奇人们会用什么观点来衡量:)是的,我知道这一点,但我只是好奇人们会用什么观点来衡量:)