| | | | | | | [文章信息] | | | 作者: | Gregor Noriskin | | 时间: | 2003-08-28 | | 出处: | 微软 | | 责任编辑: | 方舟 | |
| [文章导读] | | | 学习如何找出托管代码性能的最佳方法,以及如何测量托管应用程序的性能...... | |
| |
|
| | | |
|
|
|
|
|
摘要:从性能的角度来学习 .NET Framework 公共语言运行库。学习如何找出托管代码性能的最佳方法,以及如何测量托管应用程序的性能。 下载 CLR Profiler。(330KB)
软件开发和玩杂耍
我们可以将软件开发过程比作玩杂耍。通常,人们在玩杂耍时至少需要三件物品,而对于可以使用的物品数量并没有任何限制。刚开始学习如何玩杂耍时,您会发现在接球和抛球时您看到的是单个的球。随着熟练程度的增加,您会开始将注意力集中在这些球的运动上,而不是集中在每个单个的球上。当您掌握了玩杂耍的方法时,您就会再次将注意力集中在单个球上,一边努力使这个球保持平衡,一边继续抛出其他的球。凭直觉您就可以知道这些球的运动方向,并且也总是能将手放在正确的地方接球和抛球。可是,这与软件开发又有什么类似之处呢?
不同的角色在软件开发的过程中会“耍弄”不同的三件物品:项目和程序管理人员耍弄的是功能、资源和时间,而软件开发人员则耍弄正确性、性能和安全性。人们在玩杂耍时总是试图使用更多的物品,但只要是学过杂耍的人都会知道,即使只添加一个球都会让在空中保持所有球的平衡变得更加困难。从技术上讲,如果耍弄的球少于三个,那根本就不叫杂耍。作为软件开发人员,如果您不考虑正在编写的代码的正确性、性能和安全性,则说明您根本就没有投入到您的工作中。当您刚刚开始考虑正确性、性能和安全性时,您会发现您每次只能将注意力集中在一个方面。当它们成为您日常工作的一部分时,您会发现您再也不需要将注意力集中在某一个特定的方面,因为此时它们早已融入了您的工作。而一旦掌握了它们,您就能够凭直觉进行权衡,并相应地调整自己的注意点。这就跟玩杂耍一样,关键在于实践。
编写高性能的代码本身也存在三件物品:设置目标、测量和了解目标平台。如果您不知道代码必须达到的运行速度,那么您又如何知道您完成了呢?如果您不测量和分析代码,那么您又如何知道您已经达到了目标,或为什么没有实现目标呢?如果您不了解目标平台,那么当您没有实现目标时,又如何知道要对什么进行优化呢?这些原则对所有的高性能代码开发过程几乎都适用,不管您以哪种平台作为目标平台都一样。要完成一篇有关编写高性能代码的文章,就必须提到以上这三个方面。虽然这三个方面都同等重要,但是本文的重点在于后两个方面,因为它们适用于编写以 Microsoft? .NET Framework 作为目标平台的高性能应用程序。
在任意平台上编写高性能代码的基本原则为:
1、设置性能目标 2、测量,测量,再测量 3、了解应用程序的目标硬件和软件平台
|
|
|
|
|
|
|
|