Tru*_*ill 5 c# memory dynamic-language-runtime dynamic c#-4.0
我正在考虑限制使用C#的dynamic关键字.我的初始时间试验令人惊讶 - 100,000次迭代的性能下降不到一秒(可能是由于DLR缓存).
但是,我无法访问内存分析器,Eric Lippert写道:
然后它启动DLR [...] DLR然后启动一个特殊版本的C#编译器......
这是什么内存占用,并在动态代码被垃圾收集时卸载?
Eri*_*ert 11
当动态代码被垃圾收集时它被卸载了吗?
这个问题预示着一个不正确的前提; 动态生成的代码不是当前实现中的垃圾回收.它被缓存并且缓存一直存在,直到appdomain被拆除.我们不知道上次调用特定代码路径的时间.
如果您想知道对虚拟内存,堆内存,专用字节,共享字节等的影响,那么我的建议是您使用内存分析器来回答这些特定问题.你可能会感兴趣的是六种不同的"记忆足迹",我不知道哪一种与你有关.使用适当的工具来衡量您感兴趣的内容,然后您就会知道.
| 归档时间: |
|
| 查看次数: |
504 次 |
| 最近记录: |