• .NET性能优化
  • .NET性能优化
21年品牌 40万+商家 超1.5亿件商品

.NET性能优化

全新正版 极速发货

42.58 6.2折 69 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)萨沙·戈德斯汀(Sasha Goldshtein),(美)迪马·祖巴列夫(Dima Zurbalev),(美)伊多·弗莱托(Ido Flatow) 著;姚琪琳 等 译

出版社人民邮电出版社

ISBN9787115485861

出版时间2018-08

装帧平装

开本16开

定价69元

货号1201739251

上书时间2024-07-12

徐小智的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
萨沙·戈德斯汀是微软公司Visual C#方向的MVP,也是SELA Group的首席技术官(CTO)。Sasha领导了SELA技术中心的性能与排错团队,并且在多个领域提供咨询服务,包括生产环境调试、应用程序性能排错及分布式架构。Sasha的经验主要集中在C#与C++应用程序开发,以及高可伸缩性和高性能系统架构等方面。他经常在微软公司的相关会议上发表演讲,并举办了如“.NET性能”“.NET调试”“深入Windows”等多项培训课程。
迪马·祖巴列夫是SELA Group性能与调试团队紧急响应组的不错咨询师。Dima在性能优化和排错上帮助客户完成了许多几乎不可能完成的任务,引导他们深入理解CLR及Windows的内部细节。他的大部分开发经验围绕.NET与C++基础项目进行,同时,他也在为CodePlex上的多个项目贡献代码。
伊多·弗莱托是微软公司Connected系统方向的MVP,也是SELA团队的不错架构师。他拥有超过15年的行业经验,目前是SELA的Windows Azure及Web领域的专家之一,专长为WCF、ASP.NET、Silverlight及IIS等技术。他是一名微软认证培训师(Microsoft Certified Trainer,MCT),也是微软官方WCF 4.0课程(10263A)的合作者。他同样也经常在微软公司的相关会议上发表演讲。

目录
章性能指标1
1.1性能目标1
1.2性能指标3
1.3小结4
第2章性能度量5
2.1性能度量方式5
2.2Windows内置工具5
2.2.1性能计数器6
2.2.2Windows事件追踪10
2.3时间分析器20
2.3.1VisualStudio采样分析器20
2.3.2VisualStudio检测分析器24
2.3.3时间分析器的gao级用法25
2.4内存分配分析器27
2.4.1VisualStudio内存分配分析器27
2.4.2CLR分析器29
2.5内存分析器34
2.5.1ANTSMemoryProfiler34
2.5.2SciTech.NETMemory Profiler36
2.6其他分析器38
2.6.1数据库和数据访问分析工具38
2.6.2并发分析工具38
2.6.3I/O分析工具40
2.7微基准测试41
2.7.1设计不佳的微基准测试示例41
2.7.2微基准测试指南44
2.8小结45
第3章类型揭秘47
3.1示例47
3.2引用类型和值类型在语义上的区别48
3.3存储、分配和销毁48
3.4引用类型揭秘50
3.4.1方法表51
3.4.2调用引用类型实例的方法55
3.4.3非虚方法的分发56
3.4.4静态方法和接口方法的分发58
3.4.5同步块索引和lock关键字59
3.5值类型揭秘63
3.6值类型的虚方法65
3.7装箱65
3.7.1避免在调用值类型的Equals方法时产生装箱67
3.7.2GetHashCode方法70
3.8使用值类型的zui佳实践72
3.9小结72
第4章垃圾回收73
4.1为什么需要垃圾回收73
4.1.1空闲列表管理73
4.1.2引用计数垃圾回收74
4.2追踪垃圾回收75
4.2.1标记阶段76
4.2.2清理与压缩阶段80
4.2.3固定82
4.3垃圾回收器的特征83
4.3.1垃圾回收时暂停线程83
4.3.2在垃圾回收时挂起线程83
4.3.3工作站垃圾回收85
4.3.4服务器垃圾回收86
4.3.5切换垃圾回收特征87
4.4代89
4.4.1“代”模型的假设89
4.4.2.NET中“代”的实现90
4.4.3大对象堆93
4.4.4跨代引用94
4.4.5后台垃圾回收96
4.5垃圾回收段和虚拟内存97
4.6终结化100
4.6.1手动确定性终结化100
4.6.2自动的非确定性终结化100
4.6.3非确定性终结的缺点102
4.6.4Dispose模式104
4.7弱引用106
4.8使用垃圾回收器108
4.8.1System.GC类108
4.8.2使用CLR宿主与垃圾回收器进行交互111
4.8.3垃圾回收触发器111
4.9垃圾回收性能zui佳实践112
4.9.1“代”模型112
4.9.2固定113
4.9.3终结化114
4.9.4其他建议与zui佳实践114
4.10小结117
第5章集合和泛型119
5.1泛型119
5.1.1.NET泛型121
5.1.2泛型约束122
5.1.3CLR泛型的实现125
5.2集合131
5.2.1并发集合132
5.2.2缓存133
5.3自定义集合137
5.3.1分离集(并查集)137
5.3.2跳跃表138
5.3.3一次性集合139
5.4小结141
第6章并发和并行142
6.1挑战与所得142
6.2从线程到线程池,再到任务143
6.2.1任务并行148
6.2.2数据并行153
6.2.3C#5异步方法156
6.2.4TPL中的gao级模式159
6.3同步160
6.3.1无锁代码161
6.3.2Windows同步机制165
6.3.3缓存167
6.4通用的GPU计算168
6.4.1C++AMP简介169
6.4.2矩阵相乘171
6.4.3多体仿真171
6.4.4tile和共享内存172
6.5小结175
第7章网络、I/O和序列化176
7.1I/O基本概念176
7.1.1同步与异步I/O176
7.1.2I/O完成端口177
7.1.3.NET线程池181
7.1.4内存复制181
7.2分散-聚集I/O182
7.3文件I/O182
7.3.1缓存提示183
7.3.2非缓存I/O183
7.4网络I/O184
7.4.1网络协议184
7.4.2网络套接字185
7.5数据序列化与反序列化186
7.5.1序列化基准测试187
7.5.2数据集(DataSet)序列化189
7.6Windows通信基础类库189
7.6.1限流189
7.6.2处理模型190
7.6.3缓存191
7.6.4异步WCF客户端与服务器191
7.6.5绑定192
7.7小结193
第8章不安全的代码以及互操作194
8.1不安全的代码194
8.1.1对象固定与垃圾回收句柄195
8.1.2生存期管理196
8.1.3分配非托管内存196
8.1.4内存池197
8.2平台调用198
8.2.1PInvoke.net与P/Invoke InteropAssistant软件199
8.2.2绑定200
8.2.3列集器存根程序201
8.2.4原生同构类型204
8.2.5列集方向、值类型和引用类型的列集205
8.2.6代码访问安全性206
8.3COM互操作性206
8.3.1生存期管理207
8.3.2单元列集208
8.3.3TLB导入与代码访问安全性209
8.3.4无主互操作程序集(NoPIA)209
8.3.5异常210
8.4C++/CLI语言扩展211
8.4.1marshal_as辅助库213
8.4.2IL代码与原生代码214
8.5Windows8WinRT互操作214
8.6互操作的zui佳实践215
8.7小结215
第9章算法优化216
9.1复杂度的维度216
9.1.1大O复杂度216
9.1.2主定理217
9.1.3图灵机与复杂度分类218
9.1.4停机问题219
9.1.5NP完全问题221
9.1.6记忆与动态规划221
9.1.7编辑距离222
9.1.8每对顶点间的zui短路径224
9.2近似算法226
9.2.1旅行商问题226
9.2.2zui大割227
9.3概率算法227
9.3.1概率zui大割227
9.3.2费马质数测试228
9.4索引与压缩228
9.4.1变量的长度编码228
9.4.2压缩索引229
9.5小结230
0章性能模式232
10.1JIT编译器优化232
10.1.1标准的优化方法232
10.1.2方法内联233
10.1.3消除边界检查234
10.1.4尾调用236
10.1.5启动性能238
10.1.6使用NGen进行JIT预编译239
10.1.7多核后台JIT编译241
10.2关于启动性能的其他技巧243
10.2.1将强命名程序集置于GAC中243
10.2.2防止本机镜像发生地址重排243
10.2.3减少程序集数目244
10.3处理器相关的优化245
10.3.1单指令多数据流(SIMD)245
10.3.2指令级别并行247
10.4异常250
10.5反射250
10.6代码生成251
10.6.1直接用源代码生成代码251
10.6.2用动态轻量级代码生成技
术(LCG)生成代码253
10.7小结257
1章Web应用性能258
11.1测试Web应用的性能258
11.1.1VisualStudioWeb性能测试和压力测试259
11.1.2HTTP监控工具260
11.1.3分析工具260
11.2提高Web服务器的性能261
11.2.1缓存公用对象261
11.2.2使用异步页面、模块和控制器262
11.2.3创建异步页面263
11.2.4创建异步控制器265
11.3ASP.NET环境调优265
11.3.1关闭ASP.NET跟踪和调试266
11.3.2关闭视图状态267
11.3.3服务端输出缓存268
11.3.4对ASP.NET应用程序进行预编译269
11.3.5ASP.NET进程模型调优270
11.4配置IIS271
11.4.1输出缓存271
11.4.2应用程序池配置273
11.5网络优化274
11.5.1使用HTTP缓存头274
11.5.2启用IIS压缩277
11.5.3精简与合并279
11.5.4使用内容发布网络(CDN)280
11.6对ASP.NET应用程序进行扩容(scaling)281
11.6.1向外扩容281
11.6.2ASP.NET扩容机制282
11.6.3向外扩容的隐患282
11.7小结283

内容摘要
本书详细解释了影响应用程序性能的Windows、CLR和物理硬件的内部结构,并为读者提供了衡量代码如何独立于外部因素执行操作的知识和工具。书中提供了大量的C#代码示例和技巧,将帮助读者优选限度地提高算法和应用程序的性能,提高个人竞争优势,使用更低的成本获取更多的用户。本书共11章,D1章和D2章关注性能的度量指标及性能评测;第3章和第4章则深入CLR内部,专注于类型与CLR垃圾回收的内部实现;第5~8章及D11章讨论.NET框架中的几个特定的方面,以及CLR提供的几种可用来进行性能优化的手段;第9章对复杂度理论和算法进行了简单的尝试;D10章则包含了一些独立话题,包括启动时间优化、异常及.NET反射等。本书适合已经拥有一定C#语言和.NET框架的编程基础,对相关概念较为熟悉的中不错程序员阅读学习。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP