2006年2月8日

摘要: Jan GrayMicrosoft CLR Performance Team2003 年 6 月适用于:Microsoft(r) .NET Framework摘要:本文介绍托管代码执行时间的低级操作开销模型,该模型是通过测量操作时间得到的,开发人员可以据此做出更好的编码决策并编写更快的代码。 下载 CLR Profiler。(330KB)目录简介(和誓言)关于托管代码的开销模型托管代码的开销情况小... 阅读全文

posted @ 2006-02-08 16:40 A.Z 阅读(2369) 评论(6) 推荐(0) 编辑

摘要: 本文假定您熟悉 CLR 和 C# 下载本文的代码: NETProfilingAPI.exe (2,901KB) 摘要 在本文中,作者说明了如何使用 CLR 的 Profiling API 迅速动态重写 Microsoft 中间语言代码。与基于 Reflection.Emit 的方法不同,该方案使用现有的程序集,并且不需要创建代理和动态程序集。当您希望使更改对客户端透明并且保留类的标识时,会形成对... 阅读全文

posted @ 2006-02-08 14:56 A.Z 阅读(1268) 评论(0) 推荐(0) 编辑

摘要: 性能 既然我们有了如何进行操作的基本模型,现在让我们考虑可能引起错误并使该模型性能降低的某些问题。这样可以让我们更好地了解我们应当尝试避免什么样的事情,以便让回收器获得最佳的性能。 太多的分配 这确实是产生错误的最基本原因。使用垃圾回收器分配新的内存确实是很快的。您可以在上面的图 2 中看见,通常情况下所有需要发生的事情就是移动分配指针,以便在“已分配”的一侧为新对象创建空间 — 它并不会比这快得... 阅读全文

posted @ 2006-02-08 14:54 A.Z 阅读(434) 评论(0) 推荐(0) 编辑

摘要: 内存是所有程序都需要的一种资源,然而明智的内存用法正在变成丢失的艺术。为 Microsoft ® .NET Framework 编写的托管应用程序依靠垃圾回收器来分配和清理内存。对于很多应用程序而言,花费 3% 到 5% 的 CPU 时间来执行垃圾回收 (GC) 是一个公平的折衷方案,这样就无须担心内存管理问题。 但是,对于 CPU 时间和内存都是宝贵资源的应用程序而言,尽量减少花费在垃圾回收方面... 阅读全文

posted @ 2006-02-08 14:49 A.Z 阅读(870) 评论(0) 推荐(0) 编辑