[聚合文章] .Net Performance[译]

.net 2017-08-04 7 阅读

英文版 .Net Performance 作者 Sasha Goldshtein,Dima Zurbalev,Ido Flatow

目录

前言
关于作者
关于审计员
鸣谢
本书介绍

第一章:性能评定标准
第二章:性能测试方法
第三章:内部类型
第四章:垃圾回收
第五章:集合和泛型
第六章:并发和并行
第七章:网络、I/O和序列化
第八章:不安全代码(unsafe code)和互通性
第九章:算法优化
第十章:性能模式
第十一章:Web Application 性能

附录


本书介绍

写本书的原因是我们感觉到目前没有相对权威的文字,能够覆盖到与.Net Application 性能相关到三个方面:

  • 确定应用程序的性能标准,然后测量应用程序是否符合该标准。
  • 在一些领域里面提升程序性能:内存管理、网络、I/O、并发等。
  • 充分理解CLR和.Net 内部细节,设计和开发高性能的应用程序,解决因性能引起的问题。

我们相信,如果软件开发者不能很好的理解这三个方面,那么就不能有很好的高性能的软件解决方案。例如.Net内存管理(由CLR垃圾收集器(GC)推进工作)是一个极其复杂的领域,并且会引起巨大的性能问题如:内存泄露和GC长时间暂停。如果不理解垃圾收集器(GC)的工作原理,那么高性能的内存管理就无从谈起了。类似的,在决定使用.Net已经提供的集合类还是自己实现一个集合类的时候,开发者也需要全面的了解CPU缓存机制,运行时以及同步问题。

本书的11个章节,读者既可以连续阅读,也可以来回跳跃,在需要时反复阅读以巩固。具体的章节简介如下:

  • 第一章和第二章涉及性能指标和性能测量方法,并且介绍一些可用的性能测试工具。
  • 第三章和第四章深入到CLR内部,专注于内部类型和CLR垃圾收集器的实现,这是跟内存管理有关的两个重要的课题,从而提升程序性能。
  • 第五、六、七、八章和第十一章探讨了在CLR和.Net framework的一些具体的可能提升性能的地方,例如正确的使用集合,平行化顺序代码,优化I/O和网络操作,有效地使用互操作性解决方案和提高
    Web应用程序的性能。
  • 第九章简短的介绍了算法和算法的复杂性理论,培养你优化算法的感觉。
  • 第十章把其他一些比较杂的主题,不适合归入以上章节的内容一股脑的写出来,包括启动时间优化,异常和.NET反射。

为了更好的理解以上内容,你可能需要有一些基础,如C#和.Net framework的开发经验。一些基础概念:

  • Windows:线程,同步,虚拟内存
  • 通用语言运行时(CLR):即时(JIT)编译器,Microsoft中级 语言(MSIL),垃圾收集器
  • 计算机组织:主内存,缓存,磁盘,显卡,网络接口

在本书中有不少的示例程序、摘录、测试数据等。为了不使本书变的冗长,我们一般只包含了主要部分,但是你可以在网站上找到所有源代码。

在某些章节中,为了说明CLR是如何工作,更全面具体的解释性能优化,本书还使用了X86汇编语言代码。尽管这些内容并不是本书的重点,但是仍希望读者们可以投入一点时间去学习汇编语言的基础知识。推荐一本免费的书籍(http://www.artofasm.com/Windo...

总结来说,本书内容包含:性能测试工具,在小范围内提高性能的小提示和技巧,许多CLR机制的理论基础,示例代码以及作者的经验案例。

近十年来,我们一直在为客户优化程序,从无到有设计高性能系统。在最近几年,我们训练了大量的开发者,在软件开发周期的各个阶段考虑性能问题并积极优化程序性能。

你即将加入他们。

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。