资讯专栏INFORMATION COLUMN

.Net Performance[译]

yhaolpz / 1879人阅读

摘要:充分理解和内部细节,设计和开发高性能的应用程序,解决因性能引起的问题。例如内存管理由垃圾收集器推进工作是一个极其复杂的领域,并且会引起巨大的性能问题如内存泄露和长时间暂停。

英文版 .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机制的理论基础,示例代码以及作者的经验案例。

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

你即将加入他们。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110489.html

相关文章

  • 学习使用Chrome性能分析工具(

    摘要:原文地址开始在本教程中,你将学会如何使用性能分析工具分析页面上的性能瓶颈。其中包含了捕获性能指标相关的设置。参考分析优化版的性能使用刚刚学习的工作流和工具,单击演示中的优化以启用优化的代码,进行另一次性能记录,然后分析结果。 原文地址:https://developers.google.com... 开始 在本教程中,你将学会如何使用性能分析工具分析页面上的性能瓶颈。 在隐身模式下打...

    waruqi 评论0 收藏0
  • 2017-08-01 前端日报

    摘要:前端日报精选掌握开发工具新一代前端开发技术和到底是咋回事第期深入浅出高阶组件基于的移动页面缓存解决方案译保护我们的,立刻停止狐步舞中文译中和之间的区别个人文章译什么是个人文章譯个人文章热身实战过渡与动画实现炫酷下拉, 2017-08-01 前端日报 精选 掌握Chrome开发工具:新一代前端开发技术exports、module.exports和export、export default...

    gclove 评论0 收藏0
  • 2017-07-28 前端日报

    2017-07-28 前端日报 精选 React的新引擎—React Fiber是什么?Chromeless 让 Chrome 自动化变得简单【译】JavaScript属性名称中的隐藏信息前端测试框架 JestES6中的JavaScript工厂函数Why Composition is Harder with ClassesGET READY: A NEW V8 IS COMING, NODE.JS...

    golden_hamster 评论0 收藏0
  • []JavaScript中的不可变性(Immutability)

    摘要:整个这个雷区面板都是由的和组成的,最后由的方法对其进行不可变化处理剩下的主要逻辑部分就是扫雷了,传入扫雷游戏对象一个不可变结构做为第一个参数,以及要扫的那个雷区块对象,最后返回新的扫雷游戏实例。 不可变性(Immutability)是函数式编程的核心原则,在面向对象编程里也有大量应用。在这篇文章里,我会给大家秀一下到底什么是不可变性(Immutability)、她为什么还这么屌、以及在...

    clasnake 评论0 收藏0
  • []让web app更快的HTML5最佳实践

    摘要:原文链接简介本文重点关注如何充分利用和让运行更加流畅使用代替最大的缺陷是在每一次请求中都会携带所有符合规则的数据这会增加请求响应时间特别是请求在中使用和代替是更好的做法这另种方法可以将数据永久或者以时间存储在用户本地数据不会随着请求传递所以 原文链接: http://www.html5rocks.com/en/tutorials/speed/quick/ 简介 本文重点关注如何充分...

    aikin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<