91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
Go語(yǔ)言高效編程:原理、可觀測(cè)性與優(yōu)化
Go語(yǔ)言高效編程:原理、可觀測(cè)性與優(yōu)化
Bart?omiej P?otka
葉志遠(yuǎn), 彭彪, 陳坤云, 魏星 譯
出版時(shí)間:2025年01月
頁(yè)數(shù):397
“這是一本精彩而深刻的書(shū),它將改變你對(duì)Go軟件效率的看法。你將學(xué)到如何通過(guò)優(yōu)化代碼庫(kù)和識(shí)別可優(yōu)化模式來(lái)進(jìn)行數(shù)據(jù)驅(qū)動(dòng)的評(píng)估。本書(shū)能引導(dǎo)你輕松上手,并使你在編寫代碼時(shí)養(yǎng)成注重效率的習(xí)慣!”
——Saswata Mukherjee
Red Hat工程師
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展、市場(chǎng)競(jìng)爭(zhēng)的加劇和系統(tǒng)復(fù)雜性的提高,軟件工程師往往會(huì)無(wú)視軟件效率這個(gè)話題。然而,以可觀測(cè)性為導(dǎo)向的性能優(yōu)化在為產(chǎn)品節(jié)省資金和確保業(yè)務(wù)成功方面仍然至關(guān)重要。
借助此書(shū),任何工程師都可以學(xué)習(xí)如何有效、專業(yè)、輕松地提升軟件效率。本書(shū)為我們提供了能讓系統(tǒng)運(yùn)行得更快、更省資源的必要工具和知識(shí)。此外,本書(shū)的大部分內(nèi)容適用于任何編程語(yǔ)言,你可以將一些小而有效的習(xí)慣融入你的編程或產(chǎn)品管理周期中。
通過(guò)閱讀本書(shū),你將了解到:
● 如何明確并制定效率目標(biāo)。
● 如何在不同層面提升效率。
● 如何高效利用CPU和內(nèi)存等常見(jiàn)資源。
● 如何使用Metrics、Logging、Tracing和Profiling等可觀測(cè)性信號(hào)評(píng)估效率,并通過(guò)Prometheus、Jaeger和Parca等開(kāi)源項(xiàng)目進(jìn)行分析。
● 如何應(yīng)用go test、pprof、benchstat和k6等工具來(lái)創(chuàng)建可靠的微基準(zhǔn)和宏基準(zhǔn)。
● 如何高效使用Go及其特性,如切片、泛型、協(xié)程、內(nèi)存分類、垃圾回收等。
  1. 前言
  2. 第1章 軟件效率很重要
  3. 1.1 性能的深意
  4. 1.2 效率的常見(jiàn)誤區(qū)
  5. 1.2.1 誤區(qū)1:優(yōu)化后的代碼可讀性差
  6. 1.2.2 誤區(qū)2:YAGNI原則
  7. 1.2.3 誤區(qū)3:硬件變得更快、更廉價(jià)
  8. 1.2.4 誤區(qū)4:使用水平擴(kuò)展
  9. 1.2.5 誤區(qū)5:盡快投入市場(chǎng)
  10. 1.3 效率優(yōu)先
  11. 1.4 本章小結(jié)
  12. 第2章 初識(shí)Go語(yǔ)言
  13. 2.1 Go基礎(chǔ)知識(shí)
  14. 2.1.1 Go語(yǔ)言形態(tài)
  15. 2.1.2 Go簡(jiǎn)化代碼庫(kù)
  16. 2.1.3 Go是谷歌的開(kāi)源項(xiàng)目
  17. 2.1.4 核心設(shè)計(jì)原則
  18. 2.1.5 包和模塊
  19. 2.1.6 Go如何管理依賴
  20. 2.1.7 一致的工具
  21. 2.1.8 錯(cuò)誤處理
  22. 2.1.9 語(yǔ)言生態(tài)
  23. 2.1.10 移除未使用的import和變量
  24. 2.1.11 單元測(cè)試和表測(cè)試
  25. 2.2 高級(jí)語(yǔ)言元素
  26. 2.2.1 做好代碼文檔
  27. 2.2.2 向后兼容性和可移植性
  28. 2.2.3 Go運(yùn)行時(shí)
  29. 2.2.4 面向?qū)ο缶幊?
  30. 2.2.5 泛型
  31. 2.3 Go“快”嗎
  32. 2.4 本章小結(jié)
  33. 第3章 征服效率
  34. 3.1 對(duì)“優(yōu)化”的思考
  35. 3.1.1 合理的優(yōu)化
  36. 3.1.2 慎重的優(yōu)化
  37. 3.2 優(yōu)化挑戰(zhàn)
  38. 3.3 了解你的目標(biāo)
  39. 3.3.1 應(yīng)該形式化效率要求
  40. 3.3.2 資源感知的效率要求
  41. 3.3.3 獲取和評(píng)估效率目標(biāo)
  42. 3.3.4 定義RAER的示例
  43. 3.4 合理解決效率問(wèn)題
  44. 3.5 優(yōu)化設(shè)計(jì)層級(jí)
  45. 3.6 效率感知的開(kāi)發(fā)流程
  46. 3.6.1 功能階段
  47. 3.6.2 效率階段
  48. 3.7 本章小結(jié)
  49. 第4章 Go如何使用CPU資源
  50. 4.1 現(xiàn)代計(jì)算機(jī)架構(gòu)中的CPU
  51. 4.2 匯編語(yǔ)言
  52. 4.3 了解Go編譯器
  53. 4.4 CPU和內(nèi)存墻問(wèn)題
  54. 4.4.1 分層緩存系統(tǒng)
  55. 4.4.2 流水線和亂序執(zhí)行
  56. 4.4.3 超線程
  57. 4.5 調(diào)度器
  58. 4.5.1 操作系統(tǒng)調(diào)度器
  59. 4.5.2 Go運(yùn)行時(shí)調(diào)度器
  60. 4.6 何時(shí)使用并發(fā)
  61. 4.7 本章小結(jié)
  62. 第5章 Go如何使用內(nèi)存資源
  63. 5.1 內(nèi)存的相關(guān)背景
  64. 5.2 是否有內(nèi)存問(wèn)題
  65. 5.3 物理內(nèi)存
  66. 5.4 操作系統(tǒng)內(nèi)存管理機(jī)制
  67. 5.4.1 虛擬內(nèi)存
  68. 5.4.2 mmap系統(tǒng)調(diào)用
  69. 5.4.3 操作系統(tǒng)內(nèi)存映射
  70. 5.5 Go內(nèi)存管理機(jī)制
  71. 5.5.1 值、指針和內(nèi)存塊
  72. 5.5.2 Go內(nèi)存分配器
  73. 5.5.3 垃圾收集
  74. 5.6 本章小結(jié)
  75. 第6章 效率可觀測(cè)性
  76. 6.1 可觀測(cè)性
  77. 6.2 針對(duì)延遲的插樁示例
  78. 6.2.1 日志
  79. 6.2.2 追蹤
  80. 6.2.3 指標(biāo)
  81. 6.3 效率指標(biāo)語(yǔ)義
  82. 6.3.1 延遲
  83. 6.3.2 CPU使用情況
  84. 6.3.3 內(nèi)存使用情況
  85. 6.4 本章小結(jié)
  86. 第7章 數(shù)據(jù)驅(qū)動(dòng)的效率評(píng)估
  87. 7.1 復(fù)雜度分析
  88. 7.1.1 效率復(fù)雜度預(yù)估
  89. 7.1.2 漸近復(fù)雜度的近似預(yù)估
  90. 7.1.3 復(fù)雜度分析實(shí)踐
  91. 7.2 基準(zhǔn)測(cè)試的藝術(shù)
  92. 7.2.1 與功能測(cè)試的對(duì)比
  93. 7.2.2 基準(zhǔn)測(cè)試謊言
  94. 7.3 實(shí)驗(yàn)的可靠性
  95. 7.3.1 人為錯(cuò)誤
  96. 7.3.2 重現(xiàn)生產(chǎn)環(huán)境
  97. 7.3.3 性能的不確定性
  98. 7.4 基準(zhǔn)測(cè)試級(jí)別
  99. 7.4.1 生產(chǎn)環(huán)境中的基準(zhǔn)測(cè)試
  100. 7.4.2 宏基準(zhǔn)測(cè)試
  101. 7.4.3 微基準(zhǔn)測(cè)試
  102. 7.4.4 正確使用基準(zhǔn)測(cè)試
  103. 7.5 本章小結(jié)
  104. 第8章 基準(zhǔn)測(cè)試實(shí)踐
  105. 8.1 微基準(zhǔn)測(cè)試詳述
  106. 8.1.1 Go基準(zhǔn)測(cè)試
  107. 8.1.2 基準(zhǔn)測(cè)試結(jié)果分析
  108. 8.2 微基準(zhǔn)測(cè)試技巧
  109. 8.2.1結(jié)果方差分析
  110. 8.2.2 確定工作流程
  111. 8.2.3 確保結(jié)果正確
  112. 8.2.4 分享基準(zhǔn)測(cè)試
  113. 8.2.5 進(jìn)行不同的基準(zhǔn)測(cè)試
  114. 8.2.6 微基準(zhǔn)測(cè)試與內(nèi)存管理
  115. 8.2.7 微基準(zhǔn)測(cè)試與編譯器優(yōu)化
  116. 8.3 宏基準(zhǔn)測(cè)試詳述
  117. 8.3.1 基礎(chǔ)知識(shí)
  118. 8.3.2 Go e2e框架
  119. 8.3.3 理解并觀測(cè)結(jié)果
  120. 8.4 常見(jiàn)的宏基準(zhǔn)測(cè)試工作流程
  121. 8.5 本章小結(jié)
  122. 第9章 數(shù)據(jù)驅(qū)動(dòng)的瓶頸分析
  123. 9.1 效率根因分析
  124. 9.2 Go中的性能剖析
  125. 9.2.1 pprof格式
  126. 9.2.2 go tool pprof報(bào)告
  127. 9.3 捕獲性能剖析信號(hào)
  128. 9.4 常用性能剖析插樁
  129. 9.4.1 堆
  130. 9.4.2 goroutine
  131. 9.4.3 CPU
  132. 9.4.4 off-CPU時(shí)間
  133. 9.5 技巧
  134. 9.5.1 共享性能剖析
  135. 9.5.2 持續(xù)性能剖析
  136. 9.5.3 比較和聚合性能剖析
  137. 9.6 本章小結(jié)
  138. 第10章 優(yōu)化示例
  139. 10.1 Sum示例
  140. 10.2 優(yōu)化延遲
  141. 10.2.1 優(yōu)化bytes.Split
  142. 10.2.2 優(yōu)化runtime.slicebytetostring
  143. 10.2.3 優(yōu)化strconv.Parse
  144. 10.3 優(yōu)化內(nèi)存使用
  145. 10.3.1 轉(zhuǎn)向流式算法
  146. 10.3.2 優(yōu)化bufio.Scanner
  147. 10.4 使用并發(fā)優(yōu)化延遲
  148. 10.4.1 樸素的并發(fā)
  149. 10.4.2 分布式工作者模式
  150. 10.4.3 不需要協(xié)調(diào)的工作者模式(任務(wù)分片)
  151. 10.4.4 流式、分片的工作者模式
  152. 10.5 額外技巧:打破常規(guī)思維
  153. 10.6 本章小結(jié)
  154. 第11章 優(yōu)化模式
  155. 11.1 常見(jiàn)模式
  156. 11.1.1 減少工作量
  157. 11.1.2 以功能換效率
  158. 11.1.3 以空間換時(shí)間
  159. 11.1.4 以時(shí)間換空間
  160. 11.2 3R優(yōu)化法
  161. 11.2.1 減少分配
  162. 11.2.2 重用內(nèi)存
  163. 11.2.3 回收
  164. 11.3 不要泄漏資源
  165. 11.3.1 控制goroutine的生命周期
  166. 11.3.2 可靠地關(guān)閉資源
  167. 11.3.3 耗盡資源
  168. 11.4 盡可能預(yù)分配
  169. 11.5 使用數(shù)組時(shí)過(guò)度使用內(nèi)存
  170. 11.6 內(nèi)存重用和池化
  171. 11.7 本章小結(jié)
  172. 11.8 后續(xù)計(jì)劃
  173. 附錄 延遲的粗略估算
書(shū)名:Go語(yǔ)言高效編程:原理、可觀測(cè)性與優(yōu)化
作者:Bart?omiej P?otka
譯者:葉志遠(yuǎn), 彭彪, 陳坤云, 魏星 譯
國(guó)內(nèi)出版社:機(jī)械工業(yè)出版社
出版時(shí)間:2025年01月
頁(yè)數(shù):397
書(shū)號(hào):978-7-111-76692-6
原版書(shū)書(shū)名:Efficient Go: Data-Driven Performance Optimization
原版書(shū)出版商:O'Reilly Media
Bart?omiej P?otka
 
Bart?omiej P?otka是Red Hat的首席軟件工程師,擁有可觀測(cè)性和SRE方面的專業(yè)背景。他是CNCF大使、TAG可觀測(cè)性技術(shù)負(fù)責(zé)人以及Thanos項(xiàng)目的聯(lián)合創(chuàng)始人。此外,他還是包括Prometheus和bingo在內(nèi)的開(kāi)源Go項(xiàng)目的核心維護(hù)者。
 
 
本書(shū)封面動(dòng)物是一只草鷺(purple heron,學(xué)名Ardea purpurea),是鸛形目鷺科鷺屬鳥(niǎo)類,這些草鷺有許多亞種,有時(shí)會(huì)與數(shù)量更多的灰鷺混淆。
草鷺的喙和脖子很長(zhǎng),身體和翅膀稍小,身體大部分的羽毛呈淺灰紫色,部分區(qū)域呈黑色、栗棕色和白色。脖子是棕色的,兩側(cè)有黑色條紋。頭部、腹部和尾巴尖是黑色的。長(zhǎng)腿方便它們涉水,并幫助它們從更高的有利位置觀察。
草鷺?lè)植紡V泛,遍布?xì)W洲、亞洲和非洲的溫帶和熱帶地區(qū)。雖然它們喜歡淡水和高大的蘆葦叢,但也可以在莎草叢、紅樹(shù)林、咸水、沼澤、稻田、河流、湖岸和沿海泥灘中找到它們的身影。它們喜歡植被茂密的地方,更常見(jiàn)于飛行,而不是在棲息地棲息。
水對(duì)草鷺的生存至關(guān)重要,因?yàn)樗鼈兊闹饕澄锸侵行⌒偷聂~(yú)類。它們還捕食昆蟲(chóng)(甲蟲(chóng)、蝗蟲(chóng)和蜻蜓),以及青蛙、蠑螈或小型哺乳動(dòng)物。
O'Reilly 圖書(shū)封面上的許多動(dòng)物都瀕臨滅絕,它們對(duì)世界很重要。
購(gòu)買選項(xiàng)
定價(jià):139.00元
書(shū)號(hào):978-7-111-76692-6
出版社:機(jī)械工業(yè)出版社