本书简介

本书将从三个方面权威的阐述如何提高.net app 性能问题:

  • 验证、测量性能指标,然后辨别它是否超过度量
  • 从内存管理、网络、I/O、并发等方面提高应用程序的性能
  • 通过CLR的详细的设计细节来解决应用程序的性能瓶颈

我们相信.net软件开发人员无法实现高性能的软件解决方案是因为上述三个领域的问题,例如,。内存管理(通过CLR垃圾收集器)是一个非常复杂的领域和重大性能问题的原因,包括内存泄漏和GC暂停时间长,不了解CLR垃圾收集器运行,高性能内存管理等。同样的,选择恰当的集合类型,如是框架提供还是自己实现等都能提高性能,当然,当您选择自己实现的时候,您需要熟悉CPU缓存,运行时的复杂性以及同步问题。

本书您可以连续阅读,当然,您也可以来回跳跃的阅读(这不是废话么??)

  • 第1章和第2章处理性能指标和性能测量,介绍了工具来测量应用程序的性能。
  • 第3章和第4章深入探究CLR类型设计和垃圾回收等改善应用程序性能至关重要的问题
  • 第6-8章、11章 介绍了如何正确的使用和优化集合、并行编码、优化网络、I/O  等有效的提高web 应用程序性能
  • 第9章简要进军复杂性理论和算法。
  • 第10章主要介绍 启动时间优化、异常处理以及反射。

阅读本书之前,我们假定您掌握了以下知识:

  • windows线程同步和虚拟内存知识
  • 公共语言运行库(CLR):即时(JIT)编译器,微软中间语言(MSIL),垃圾收集器(GC)
  • 计算机组织:主内存、缓存、磁盘、图形卡、网络接口

您可以通过本书的官方网站下载包括但不限于本书的示例代码。

在一些章节中我们使用x86汇编语言代码来说明操作或CLR机制,更彻底地解释一个特定的性能优化,尽管这些不是这本书的关键所在。我们推荐专用读者投入一些时间在学习x86汇编的基本原理语言。兰德尔·海德的免费书“汇编语言编程的艺术”(http://www.artofasm.com/Windows/index.html)是一个很好的资源。

本书有包含了很多应用程序性能测量的小工具和技巧、CLR机制的基础理论以及作者多年工作经验的见解和一些研究案例,近十年来我们一直在帮助客户设计高性能的应用程序解决方案,我们有数百人的团队在不断的思考如何提高应用程序的性能贯穿于软件开发生命周期的各个阶段,您读完此书,您将加入到研究提高应用程序性能研究人员的行列之中。

  

  

Introduction(本书简介)的更多相关文章

  1. Spring AOP之Introduction(@DeclareParents)简介

    Spring的文档上对Introduction这个概念和相关的注解@DeclareParents作了如下介绍: Introductions (known as inter-type declarati ...

  2. Spring AOP之Introduction(@DeclareParents)简介(转)

    Spring的文档上对Introduction这个概念和相关的注解@DeclareParents作了如下介绍: Introductions (known as inter-type declarati ...

  3. KnockoutJS 3.X API 第一章 简介

    本文纯正翻译自官网API文档.其中包含一下个人理解. 官网API地址:http://knockoutjs.com/documentation/introduction.html 简介 Knockout ...

  4. 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)

       (目前发现一些文章被盗用的情况,我们将在每篇文章前面添加原文地址,本文源地址:http://www.cnblogs.com/idealer3d/p/Instant_RaphaelJS_Start ...

  5. iOS CoreAnimate 动画实现

    这里主要讲的是使用CoreAnimate实现所需的动画. 先上官网的介绍:https://developer.apple.com/library/ios/documentation/Cocoa/Con ...

  6. Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(一)

    Flume 1.7.0 User Guide Introduction(简介) Overview(综述) System Requirements(系统需求) Architecture(架构) Data ...

  7. Hadoop官方文档翻译—— YARN ResourceManager High Availability 2.7.3

    ResourceManager High Availability (RM高可用) Introduction(简介) Architecture(架构) RM Failover(RM 故障切换) Rec ...

  8. Hadoop官方文档翻译——HDFS Architecture 2.7.3

    HDFS Architecture HDFS Architecture(HDFS 架构) Introduction(简介) Assumptions and Goals(假设和目标) Hardware ...

  9. ajax 如何做到 SEO 友好

    我猜你是在网络上搜索“ajax如何被搜索引擎收录”.“ajax SEO”.“ajax SEO友好”等关键词来到这里的.你可能已经很疲惫了,因为前段时间我也这样搜索,但是我发现搜索到的内容质量不高,有的 ...

随机推荐

  1. shell脚本-基础

    shell脚本-基础 编程基础 程序是指令+ 数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell 程序提供了编程能力,解释执行. 计算运行二进 ...

  2. codevs1312连续自然数和

    1312 连续自然数和  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold       题目描述 Description 对于一个自然数M,求出所有的连续的自然数段 ...

  3. [Swift通天遁地]九、拔剑吧-(11)创建强大的Pinterest风格的瀑布流界面

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  4. VUE element-ui下拉列表获取label值

    有这样一个场景,当我们往后台数据传的是id时,我们却想在前台获取列表显示的值,这时候可以用下面的方法来获取你想要的label值 let obj = {}; obj = this.arr.find((i ...

  5. C++ friend关键字

    友元:友元函数 友元类. 友元函数:不属于任何类,只是在类中声明一下(可以放在 private 或者 public,没有区别),告诉这个类,这个函数是你的朋友,当然朋友不是白当的:这个函数可以访问你的 ...

  6. 研磨JavaScript系列(二):没有类

    object就是对象的类型.在JavaScript中不管多么复杂的数据和代码.都可以组织成object形式的对象. 但JavaScript没有"类"概念. 看下面这段JavaScr ...

  7. 微信自定义分享功能实现Tips

    以MVC为例 前台js通过.post()方法传给后台特定Controller当前页面的url,后台获取后,进行处理: 1.获取access_token:https://mp.weixin.qq.com ...

  8. Android基础TOP3_1:纵横屏切换

    在Res下建立layout-port文件夹  为竖屏时加载的界面: 建立layout-land 文件夹 为横屏加载的界面

  9. 02--Java Socket编程--IO方式

    一.基础知识 1. TCP状态转换知识,可参考: http://www.cnblogs.com/qlee/archive/2011/07/12/2104089.html 2. 数据传输 3. TCP/ ...

  10. JS高级——面向对象方式解决tab栏切换问题

    注意事项 1.给li元素注册事件,函数里面的this指的li元素,那么我们可以在注册事件之前将Tab对象用that=this进行保存 2.使用沙箱模式,所以暴露给外面的变量使用的是window.tab ...