好像 System.Diagnostics 里面有几个 Performance 相关的类可以查询性能, 不过不确定是否能查询某个函数或者过程的内存使用状况 ? (例如我想测试分别用 XmlDocument 和 XmlTextWriter 来创建 xml 文档的内存使用对比)实在不行的话, 不一定要在程序内部得出结果, 用第三方工具也行.

解决方案 »

  1.   

    在程序内部就可以得到,请参看Process类的下列方法和属性:
    Process.Refresh()   放弃有关关联进程的、已缓存到该进程组件内的任何信息。
    WorkingSet  获取关联进程的物理内存使用情况。 (注:不带64的属性在.net1.1以前使用)
    WorkingSet64  获取为关联的进程分配的物理内存量。 (注:带64的属性在.net2.0使用)
    TotalProcessorTime  获取此进程的总的处理器时间。 
    UserProcessorTime  获取此进程的用户处理器时间。 
    VirtualMemorySize  获取进程的虚拟内存大小。 
    VirtualMemorySize64  获取为关联的进程分配的虚拟内存量。 
    StartTime  获取关联进程启动的时间。 
    ......
    还有很多,在此不再一一列举。
      

  2.   

    哦,还有个重要的静态方法:
    Process.GetCurrentProcess()  获取新的 Process 组件并将其与当前活动的进程关联。
      

  3.   

    恩谢谢.简单测试了一些方法, 使用 XmlTextWrite 向 MemoryStream 写入 xml 的速度快于 XmlDocument 生成节点再取 InnerXml 的速度, 内存使用也是前者领先(用的更少)另外 aspx 的 Page 很耗内存, 不如直接写 httpHandler 处理页面.