.NET性能优化PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(美)萨沙·戈德斯汀(Sasha Goldshtein),迪马·祖巴列夫(Dima Zurbalev)著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2018
- ISBN:9787115485861
- 页数:283 页
第1章 性能指标 1
1.1 性能目标 1
1.2 性能指标 3
1.3 小结 4
第2章 性能度量 5
2.1 性能度量方式 5
2.2 Windows内置工具 5
2.2.1 性能计数器 6
2.2.2 Windows事件追踪 10
2.3 时间分析器 20
2.3.1 Visual Studio采样分析器 20
2.3.2 Visual Studio检测分析器 24
2.3.3 时间分析器的高级用法 25
2.4 内存分配分析器 27
2.4.1 Visual Studio内存分配分析器 27
2.4.2 CLR分析器 29
2.5 内存分析器 34
2.5.1 ANTS Memory Profiler 34
2.5.2 SciTech.NET Memory Profiler 36
2.6 其他分析器 38
2.6.1 数据库和数据访问分析工具 38
2.6.2 并发分析工具 38
2.6.3 I/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.2 GetHashCode方法 70
3.8 使用值类型的最佳实践 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.4 Dispose模式 104
4.7 弱引用 106
4.8 使用垃圾回收器 108
4.8.1 System.GC类 108
4.8.2 使用CLR宿主与垃圾回收器进行交互 111
4.8.3 垃圾回收触发器 111
4.9 垃圾回收性能最佳实践 112
4.9.1 “代”模型 112
4.9.2 固定 113
4.9.3 终结化 114
4.9.4 其他建议与最佳实践 114
4.10 小结 117
第5章 集合和泛型 119
5.1 泛型 119
5.1.1 .NET泛型 121
5.1.2 泛型约束 122
5.1.3 CLR泛型的实现 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.3 C#5异步方法 156
6.2.4 TPL中的高级模式 159
6.3 同步 160
6.3.1 无锁代码 161
6.3.2 Windows同步机制 165
6.3.3 缓存 167
6.4 通用的GPU计算 168
6.4.1 C+++ AMP简介 169
6.4.2 矩阵相乘 171
6.4.3 多体仿真 171
6.4.4 tile和共享内存 172
6.5 小结 175
第7章 网络、I/O和序列化 176
7.1 I/O基本概念 176
7.1.1 同步与异步I/O 176
7.1.2 I/O完成端口 177
7.1.3 .NET线程池 181
7.1.4 内存复制 181
7.2 分散-聚集I/O 182
7.3 文件I/O 182
7.3.1 缓存提示 183
7.3.2 非缓存I/O 183
7.4 网络I/O 184
7.4.1 网络协议 184
7.4.2 网络套接字 185
7.5 数据序列化与反序列化 186
7.5.1 序列化基准测试 187
7.5.2 数据集(DataSet)序列化 189
7.6 Windows通信基础类库 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.1 PInvoke.net与P/Invoke Interop Assistant软件 199
8.2.2 绑定 200
8.2.3 列集器存根程序 201
8.2.4 原生同构类型 204
8.2.5 列集方向、值类型和引用类型的列集 205
8.2.6 代码访问安全性 206
8.3 COM互操作性 206
8.3.1 生存期管理 207
8.3.2 单元列集 208
8.3.3 TLB导入与代码访问安全性 209
8.3.4 无主互操作程序集(NoPIA) 209
8.3.5 异常 210
8.4 C+++/CLI语言扩展 211
8.4.1 marshal_as辅助库 213
8.4.2 IL代码与原生代码 214
8.5 Windows 8 WinRT互操作 214
8.6 互操作的最佳实践 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.5 NP完全问题 221
9.1.6 记忆与动态规划 221
9.1.7 编辑距离 222
9.1.8 每对顶点间的最短路径 224
9.2 近似算法 226
9.2.1 旅行商问题 226
9.2.2 最大割 227
9.3 概率算法 227
9.3.1 概率最大割 227
9.3.2 费马质数测试 228
9.4 索引与压缩 228
9.4.1 变量的长度编码 228
9.4.2 压缩索引 229
9.5 小结 230
第10章 性能模式 232
10.1 JIT编译器优化 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
第11章 Web应用性能 258
11.1 测试Web应用的性能 258
11.1.1 Visual Studio Web性能测试和压力测试 259
11.1.2 HTTP监控工具 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.3 ASP.NET环境调优 265
11.3.1 关闭ASP.NET跟踪和调试 266
11.3.2 关闭视图状态 267
11.3.3 服务端输出缓存 268
11.3.4 对ASP.NET应用程序进行预编译 269
11.3.5 ASP.NET进程模型调优 270
11.4 配置IIS 271
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.2 ASP.NET扩容机制 282
11.6.3 向外扩容的隐患 282
11.7 小结 283
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《NiFe2O4基惰性阳极材料的烧结行为及应用性能》杜金晶,王斌著 2019
- 《并行数据挖掘及性能优化》荀亚玲著 2020
- 《钻井液用烷基糖苷及其改性产品合成、性能及应用》司西强,王中华编著 2019
- 《高性能油墨产业专利信息分析及预警研究报告》国家知识产权局专利局专利审查协作广东中心编者;石陇辉责编 2019
- 《Laves相NbCr2化合物的力学性能及其应用》刘昕责编;聂小武 2019
- 《信息融合中估计算法的性能评估》毛艳慧著 2019
- 《纺织产品生态安全性能检测》田文主编 2019
- 《多级孔沸石分子筛合成及其催化性能研究》颜婷婷,喜冬阳,王俊海 2019
- 《特种陶瓷工艺与性能》毕见强编著 2018
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019