【发布时间】:2010-09-20 05:09:29
【问题描述】:
我一直在尝试比较 VB6 应用程序和 .Net 应用程序之间的内存占用。试图确定两者之间的平均差异是多少。
.Net 代码大部分是 VB6 的直接翻译,并且大部分具有与在 C# 中编程相同的指令。因此,虽然这是一个苹果与橘子的比较,但它是对功能(如果不是逻辑上)等效的程序的比较。
我一直在使用Process Explorer 来帮助我确定应用程序的内存使用情况,但是有一些地方让我感到困惑:
- 我一直在尝试确定总体内存消耗。我应该使用哪个进程内存列。到目前为止,我一直在研究工作集。
- 为了比较应用程序中 DLL 的大小,PExplorer 显示 Size、WS Total 和其他 WS 计数器,如何解释这些?为什么 Size 与 WS Total 如此不同,不应该是一样的吗?
到目前为止,我已经收集到 WS Total 包括 WS Private 和 WS Shareable。因此,仅使用 WS Total 可能是一种欺骗性措施。我还从诸如.Net exe memory footprint 之类的问题中读到,.Net 工作集通常比它应该的要大。在内存匮乏的环境中实例化进程,比如 128 MB 的 VM 会将工作集大小减少到最小吗?
任何帮助或见解将不胜感激。
【问题讨论】:
标签: .net performance memory vb6