在单元测试项目中加载托管程序集似乎会减慢Visual Studio 2010的速度



我正在单元测试中加载多个托管程序集。这些程序集来自解决方案内部,而不是第三方,这并不重要。我注意到,在运行这些测试几次(通常是10次)之后,Visual Studio倾向于增加内存消耗,并且在构建时间和响应性方面减慢了总体速度。如果不运行这些特定的单元测试,则不会出现此行为。

加载的程序集用于检索嵌入类型并创建ONLY Enum类型的实例,因此该程序集中的代码不会产生问题。我尝试了一个[ReflectionOnlyLoad],但它自然不允许创建类型实例。

显然,除非卸载了整个应用程序域,否则无法在加载后显式卸载程序集。

我的问题是,单元测试项目在VS进程下运行,如果是这样,这些加载的程序集堆积吗?我假设单元测试上下文会在它自己之后进行清理。

"已加载的程序集用于检索嵌入类型和创建"

可能是自我修改代码问题

如果asm运行在缓存的非边界部分,它会重写,这对旁观者来说毫无逻辑原因地对执行速度产生了巨大的影响

使用asm,你必须保持动态数据和指令数据的隔离

读/写动态数据应该存储在包含代码

的内存块之外

http://www.bbcbasic.co.uk/bbcwin/manual/bbcwina.html缓存

撞击是巨大的,高达10倍慢

基本上一个asm程序应该是:

分配2048 k

(动态数据)

分配4096 k

(代码)

对于任何类型的汇编

如果你不会做,那就学习如何做,差别就像白天和黑夜

相关内容

  • 没有找到相关文章

最新更新