圖書盲袋,以書為“藥”
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
人民郵電出版社NET性能優(yōu)化

人民郵電出版社NET性能優(yōu)化

出版社:人民郵電出版社出版時間:2017-04-01
開本: 其他 頁數(shù): 283
中 圖 價:¥43.5(6.3折) 定價  ¥69.0 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>

人民郵電出版社NET性能優(yōu)化 版權(quán)信息

人民郵電出版社NET性能優(yōu)化 本書特色

本書詳細(xì)解釋了影響應(yīng)用程序性能的Windows、CLR和物理硬件的內(nèi)部結(jié)構(gòu),并為讀者提供了衡量代碼如何獨立于外部因素執(zhí)行操作的知識和工具。書中提供了大量的C#代碼示例和技巧,將幫助讀者zui大限度地提高算法和應(yīng)用程序的性能,提高個人競爭優(yōu)勢,使用更低的成本獲取更多的用戶。 本書共11章,D1章和D2章關(guān)注性能的度量指標(biāo)及性能評測;第3章和第4章則深入CLR內(nèi)部,專注于類型與CLR垃圾回收的內(nèi)部實現(xiàn);第5~8章及D11章討論.NET框架中的幾個特定的方面,以及CLR提供的幾種可用來進行性能優(yōu)化的手段;第9章對復(fù)雜度理論和算法進行了簡單的嘗試;D10章則包含了一些獨立話題,包括啟動時間優(yōu)化、異常及.NET反射等。 本書適合已經(jīng)擁有一定C#語言和.NET框架的編程基礎(chǔ),對相關(guān)概念較為熟悉的中g(shù)ao級程序員閱讀學(xué)習(xí)。

人民郵電出版社NET性能優(yōu)化 內(nèi)容簡介

本書詳細(xì)解釋了影響應(yīng)用程序性能的Windows、CLR和物理硬件的內(nèi)部結(jié)構(gòu),并為讀者提供了衡量代碼如何獨立于外部因素執(zhí)行操作的知識和工具。書中提供了大量的C#代碼示例和技巧,將幫助讀者zui大限度地提高算法和應(yīng)用程序的性能,提高個人競爭優(yōu)勢,使用更低的成本獲取更多的用戶。本書共11章,D1章和D2章關(guān)注性能的度量指標(biāo)及性能評測;第3章和第4章則深入CLR內(nèi)部,專注于類型與CLR垃圾回收的內(nèi)部實現(xiàn);第5~8章及D11章討論.NET框架中的幾個特定的方面,以及CLR提供的幾種可用來進行性能優(yōu)化的手段;第9章對復(fù)雜度理論和算法進行了簡單的嘗試;D10章則包含了一些獨立話題,包括啟動時間優(yōu)化、異常及.NET反射等。本書適合已經(jīng)擁有一定C#語言和.NET框架的編程基礎(chǔ),對相關(guān)概念較為熟悉的中g(shù)ao級程序員閱讀學(xué)習(xí)。

人民郵電出版社NET性能優(yōu)化 目錄

目  錄

第 1章 性能指標(biāo) 1

1.1 性能目標(biāo) 1

1.2 性能指標(biāo) 3

1.3 小結(jié) 4

第 2章 性能度量 5

2.1 性能度量方式 5

2.2 Windows內(nèi)置工具 5

2.2.1 性能計數(shù)器 6

2.2.2 Windows事件追蹤 10

2.3 時間分析器 20

2.3.1 Visual Studio采樣分析器 20

2.3.2 Visual Studio檢測分析器 24

2.3.3 時間分析器的gao級用法 25

2.4 內(nèi)存分配分析器 27

2.4.1 Visual Studio內(nèi)存分配

分析器 27

2.4.2 CLR分析器 29

2.5 內(nèi)存分析器 34

2.5.1 ANTS Memory Profiler 34

2.5.2 SciTech .NET Memory

Profiler 36

2.6 其他分析器 38

2.6.1 數(shù)據(jù)庫和數(shù)據(jù)訪問

分析工具 38

2.6.2 并發(fā)分析工具 38

2.6.3 I/O分析工具 40

2.7 微基準(zhǔn)測試 41

2.7.1 設(shè)計不佳的微基準(zhǔn)測試

示例 41

2.7.2 微基準(zhǔn)測試指南 44

2.8 小結(jié) 45

第3章 類型揭秘 47

3.1 示例 47

3.2 引用類型和值類型在語義上的

區(qū)別 48

3.3 存儲、分配和銷毀 48

3.4 引用類型揭秘 50

3.4.1 方法表 51

3.4.2 調(diào)用引用類型實例的方法 55

3.4.3 非虛方法的分發(fā) 56

3.4.4 靜態(tài)方法和接口方法的

分發(fā) 58

3.4.5 同步塊索引和lock

關(guān)鍵字 59

3.5 值類型揭秘 63

3.6 值類型的虛方法 65

3.7 裝箱 65

3.7.1 避免在調(diào)用值類型的Equals

方法時產(chǎn)生裝箱 67

3.7.2 GetHashCode方法 70

3.8 使用值類型的zui佳實踐 72

3.9 小結(jié) 72

第4章 垃圾回收 73

4.1 為什么需要垃圾回收 73

4.1.1 空閑列表管理 73

4.1.2 引用計數(shù)垃圾回收 74

4.2 追蹤垃圾回收 75

4.2.1 標(biāo)記階段 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 服務(wù)器垃圾回收 86

4.3.5 切換垃圾回收特征 87

4.4 代 89

4.4.1 “代”模型的假設(shè) 89

4.4.2 .NET中“代”的實現(xiàn) 90

4.4.3 大對象堆 93

4.4.4 跨代引用 94

4.4.5 后臺垃圾回收 96

4.5 垃圾回收段和虛擬內(nèi)存 97

4.6 終結(jié)化 100

4.6.1 手動確定性終結(jié)化 100

4.6.2 自動的非確定性終結(jié)化 100

4.6.3 非確定性終結(jié)的缺點 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 垃圾回收觸發(fā)器 111

4.9 垃圾回收性能zui佳實踐 112

4.9.1 “代”模型 112

4.9.2 固定 113

4.9.3 終結(jié)化 114

4.9.4 其他建議與zui佳實踐 114

4.10 小結(jié) 117

第5章 集合和泛型 119

5.1 泛型 119

5.1.1 .NET泛型 121

5.1.2 泛型約束 122

5.1.3 CLR泛型的實現(xiàn) 125

5.2 集合 131

5.2.1 并發(fā)集合 132

5.2.2 緩存 133

5.3 自定義集合 137

5.3.1 分離集(并查集) 137

5.3.2 跳躍表 138

5.3.3 一次性集合 139

5.4 小結(jié) 141

第6章 并發(fā)和并行 142

6.1 挑戰(zhàn)與所得 142

6.2 從線程到線程池,再到任務(wù) 143

6.2.1 任務(wù)并行 148

6.2.2 數(shù)據(jù)并行 153

6.2.3 C# 5異步方法 156

6.2.4 TPL中的gao級模式 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和共享內(nèi)存 172

6.5 小結(jié) 175

第7章 網(wǎng)絡(luò)、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 內(nèi)存復(fù)制 181

7.2 分散-聚集I/O 182

7.3 文件I/O 182

7.3.1 緩存提示 183

7.3.2 非緩存I/O 183

7.4 網(wǎng)絡(luò)I/O 184

7.4.1 網(wǎng)絡(luò)協(xié)議 184

7.4.2 網(wǎng)絡(luò)套接字 185

7.5 數(shù)據(jù)序列化與反序列化 186

7.5.1 序列化基準(zhǔn)測試 187

7.5.2 數(shù)據(jù)集(DataSet)

序列化 189

7.6 Windows通信基礎(chǔ)類庫 189

7.6.1 限流 189

7.6.2 處理模型 190

7.6.3 緩存 191

7.6.4 異步WCF客戶端與

服務(wù)器 191

7.6.5 綁定 192

7.7 小結(jié) 193

第8章 不安全的代碼以及互操作 194

8.1 不安全的代碼 194

8.1.1 對象固定與垃圾回收

句柄 195

8.1.2 生存期管理 196

8.1.3 分配非托管內(nèi)存 196

8.1.4 內(nèi)存池 197

8.2 平臺調(diào)用 198

8.2.1 PInvoke.net與P/Invoke

Interop Assistant軟件 199

8.2.2 綁定 200

8.2.3 列集器存根程序 201

8.2.4 原生同構(gòu)類型 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導(dǎo)入與代碼訪問

安全性 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 互操作的zui佳實踐 215

8.7 小結(jié) 215

第9章 算法優(yōu)化 216

9.1 復(fù)雜度的維度 216

9.1.1 大O復(fù)雜度 216

9.1.2 主定理 217

9.1.3 圖靈機與復(fù)雜度分類 218

9.1.4 停機問題 219

9.1.5 NP完全問題 221

9.1.6 記憶與動態(tài)規(guī)劃 221

9.1.7 編輯距離 222

9.1.8 每對頂點間的zui短路徑 224

9.2 近似算法 226

9.2.1 旅行商問題 226

9.2.2 zui大割 227

9.3 概率算法 227

9.3.1 概率zui大割 227

9.3.2 費馬質(zhì)數(shù)測試 228

9.4 索引與壓縮 228

9.4.1 變量的長度編碼 228

9.4.2 壓縮索引 229

9.5 小結(jié) 230

第 10章 性能模式 232

10.1 JIT編譯器優(yōu)化 232

10.1.1 標(biāo)準(zhǔn)的優(yōu)化方法 232

10.1.2 方法內(nèi)聯(lián) 233

10.1.3 消除邊界檢查 234

10.1.4 尾調(diào)用 236

10.1.5 啟動性能 238

10.1.6 使用NGen進行JIT預(yù)

編譯 239

10.1.7 多核后臺JIT編譯 241

10.2 關(guān)于啟動性能的其他技巧 243

10.2.1 將強命名程序集置于

GAC中 243

10.2.2 防止本機鏡像發(fā)生地址

重排 243

10.2.3 減少程序集數(shù)目 244

10.3 處理器相關(guān)的優(yōu)化 245

10.3.1 單指令多數(shù)據(jù)流

(SIMD) 245

10.3.2 指令級別并行 247

10.4 異常 250

10.5 反射 250

10.6 代碼生成 251

10.6.1 直接用源代碼生成

代碼 251

10.6.2 用動態(tài)輕量級代碼生成技

術(shù)(LCG)生成代碼 253

10.7 小結(jié) 257

第 11章 Web應(yīng)用性能 258

11.1 測試Web應(yīng)用的性能 258

11.1.1 Visual Studio Web性能

測試和壓力測試 259

11.1.2 HTTP監(jiān)控工具 260

11.1.3 分析工具 260

11.2 提高Web服務(wù)器的性能 261

11.2.1 緩存公用對象 261

11.2.2 使用異步頁面、模塊和

控制器 262

11.2.3 創(chuàng)建異步頁面 263

11.2.4 創(chuàng)建異步控制器 265

11.3 ASP.NET環(huán)境調(diào)優(yōu) 265

11.3.1 關(guān)閉ASP.NET跟蹤和調(diào)試 266

11.3.2 關(guān)閉視圖狀態(tài) 267

11.3.3 服務(wù)端輸出緩存 268

11.3.4 對ASP.NET應(yīng)用程序進行預(yù)編譯 269

11.3.5 ASP.NET進程模型調(diào)優(yōu) 270

11.4 配置IIS 271

11.4.1 輸出緩存 271

11.4.2 應(yīng)用程序池配置 273

11.5 網(wǎng)絡(luò)優(yōu)化 274

11.5.1 使用HTTP緩存頭 274

11.5.2 啟用IIS壓縮 277

11.5.3 精簡與合并 279

11.5.4 使用內(nèi)容發(fā)布網(wǎng)絡(luò) (CDN) 280

11.6 對ASP.NET應(yīng)用程序進行擴容(scaling) 281

11.6.1 向外擴容 281

11.6.2 ASP.NET擴容機制 282

11.6.3 向外擴容的隱患 282

11.7 小結(jié) 283
展開全部

人民郵電出版社NET性能優(yōu)化 作者簡介

Sasha Goldshtein是微軟公司Visual C#方向的MVP,也是SELA Group的首席技術(shù)官(CTO)。Sasha領(lǐng)導(dǎo)了SELA技術(shù)中心的性能與排錯團隊,并且在多個領(lǐng)域提供咨詢服務(wù),包括生產(chǎn)環(huán)境調(diào)試、應(yīng)用程序性能排錯及分布式架構(gòu)。Sasha的經(jīng)驗主要集中在C#與C 應(yīng)用程序開發(fā),以及高可伸縮性和高性能系統(tǒng)架構(gòu)等方面。他經(jīng)常在微軟公司的相關(guān)會議上發(fā)表演講,并舉辦了如“.NET性能”“.NET調(diào)試”“深入Windows”等多項培訓(xùn)課程。 Dima Zurbalev是SELA Group性能與調(diào)試團隊緊急響應(yīng)組的高級咨詢師。Dima在性能優(yōu)化和排錯上幫助客戶完成了許多幾乎不可能完成的任務(wù),引導(dǎo)他們深入理解CLR及Windows的內(nèi)部細(xì)節(jié)。他的大部分開發(fā)經(jīng)驗圍繞.NET與C 基礎(chǔ)項目進行,同時,他也在為CodePlex上的多個項目貢獻代碼。 Ido Flatow是微軟公司Connected系統(tǒng)方向的MVP,也是SELA團隊的高級架構(gòu)師。他擁有超過15年的行業(yè)經(jīng)驗,目前是SELA的Windows Azure及Web領(lǐng)域的專家之一,專長為WCF、ASP.NET、Silverlight及IIS等技術(shù)。他是一名微軟認(rèn)證培訓(xùn)師(Microsoft Certified Trainer,MCT),也是微軟官方WCF 4.0課程(10263A)的合作者。他同樣也經(jīng)常在微軟公司的相關(guān)會議上發(fā)表演講。

商品評論(0條)
暫無評論……
書友推薦
返回頂部
中圖網(wǎng)
在線客服