Introduction(本书简介)
本书简介
本书将从三个方面权威的阐述如何提高.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(本书简介)的更多相关文章
- Spring AOP之Introduction(@DeclareParents)简介
Spring的文档上对Introduction这个概念和相关的注解@DeclareParents作了如下介绍: Introductions (known as inter-type declarati ...
- Spring AOP之Introduction(@DeclareParents)简介(转)
Spring的文档上对Introduction这个概念和相关的注解@DeclareParents作了如下介绍: Introductions (known as inter-type declarati ...
- KnockoutJS 3.X API 第一章 简介
本文纯正翻译自官网API文档.其中包含一下个人理解. 官网API地址:http://knockoutjs.com/documentation/introduction.html 简介 Knockout ...
- 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)
(目前发现一些文章被盗用的情况,我们将在每篇文章前面添加原文地址,本文源地址:http://www.cnblogs.com/idealer3d/p/Instant_RaphaelJS_Start ...
- iOS CoreAnimate 动画实现
这里主要讲的是使用CoreAnimate实现所需的动画. 先上官网的介绍:https://developer.apple.com/library/ios/documentation/Cocoa/Con ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(一)
Flume 1.7.0 User Guide Introduction(简介) Overview(综述) System Requirements(系统需求) Architecture(架构) Data ...
- Hadoop官方文档翻译—— YARN ResourceManager High Availability 2.7.3
ResourceManager High Availability (RM高可用) Introduction(简介) Architecture(架构) RM Failover(RM 故障切换) Rec ...
- Hadoop官方文档翻译——HDFS Architecture 2.7.3
HDFS Architecture HDFS Architecture(HDFS 架构) Introduction(简介) Assumptions and Goals(假设和目标) Hardware ...
- ajax 如何做到 SEO 友好
我猜你是在网络上搜索“ajax如何被搜索引擎收录”.“ajax SEO”.“ajax SEO友好”等关键词来到这里的.你可能已经很疲惫了,因为前段时间我也这样搜索,但是我发现搜索到的内容质量不高,有的 ...
随机推荐
- codevs2503失恋28天......(背包dp)
503 失恋28天-缝补礼物 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 话说上回他给女孩送了n件礼物,由于是廉价的所以 ...
- Oracle group by分组拼接字符串
select wm_concat(id),depon from test_1 group by depon
- j建立一个小的servlet小程序
我们建立一个最简单的servlet程序,这个servelt程序只是单纯的输出helloworld. 步骤如下:如图:在Eclipse中选择新建一个项目,其中选择tomcat project然后点击下一 ...
- HDU 5306 吉司机线段树
思路: 后面nlogn的部分是伪证... 大家可以构造数据证明是这是nlog^2n的啊~ 吉老司机翻车了 //By SiriusRen #include <cstdio> #include ...
- 题解报告:hdu 1285 确定比赛名次
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 Problem Description 有N个比赛队(1<=N<=500),编号依次 ...
- 大话设计模式--DI(依赖注入)
1.背景 想象一个场景:有个功能通过某个参数决定了路由到不同的方法上或者几个方法模块可以自由搭配,咋办?一般人会对每个方法写一个helper(比如SendMessageForEmail.SendMes ...
- [ HNOI 2006 ] 公路修建问题
\(\\\) \(Description\) 一个\(N\)个点\(M\)条边的图,每条边可以选择\(w_i,p_i\)两个边权之一,现求一个生成树上的最大边权最小值,要求这棵生成树上至少有\(K\) ...
- 数据库SQL语句的操作
SQLServer数据库的基础知识的回顾: 1)主数据文件:*.mdf 2)次要数据文件:*.ndf 3)日志文件:*.ldf 每个数据库至少要包含两个文件:一个数据文件和一个日志文件 如何查看SQL ...
- html5——css选择器
复习 div>p: 子代 div+p:div后面相邻的第一个p div~p: div后面所有的兄弟p 属性选择器 标志:[]:区别于id选择器:#,区别于类名选择器:. 特殊符号:^:开头 ...
- jQuery——表格添加数据
1.遮罩层宽高100%,position,不占位 2.注册a标签的删除事件,用on()方法,以方法可以动态添加,之前js需要利用冒泡属性(父标签注册事件,子标签冒泡,target===li触发事件) ...