內容簡介
「《Efficient Go》是一本很棒且充滿洞見的書籍,可以改變您對Go軟體效能的看法。您將學習如何透過資料驅動的評估來優化程式碼庫,並辨識出可優化的程式碼模式。這本書將使您感到輕鬆自在,並且當您開始編寫程式碼時,會更關心程式碼的效能!」
—Saswata Mukherjee, Red Hat工程師
隨著技術的進步、市場的快速變化以及系統複雜度的提高,軟體工程師往往會忽略軟體效率這個令人不安的問題。然而,以可觀察性驅動的戰術性效能優化對每個產品都至關重要,它可以節省資金並確保業務成功。
這本書提供了任何工程師所需的工具和知識,以有效、專業且無壓力的方式提高軟體效率。作者Bartłomiej Płotka提供讓您的系統可以更快並且消耗更少資源所需的工具和知識,以及如何使用Go達成更好效率。此外,大多數內容與語言無關,您可以將小而有效的習慣帶入程式設計或產品管理週期中。
本書會向您展示如何:
‧釐清並協商效率目標
‧在各種等級上優化效率
‧有效地使用CPU和記憶體等公共資源
‧透過Prometheus、Jaeger和Parca等開源專案,使用度量、日誌記錄、追踪和(持續)效能分析等可觀察性信號來評估效率
‧應用go test、pprof、benchstat和k6等工具來建立可靠的微觀和宏觀基準測試
‧有效率地使用Go及其特性,例如切片、泛型、goroutine、配置語意、垃圾收集等
—Saswata Mukherjee, Red Hat工程師
隨著技術的進步、市場的快速變化以及系統複雜度的提高,軟體工程師往往會忽略軟體效率這個令人不安的問題。然而,以可觀察性驅動的戰術性效能優化對每個產品都至關重要,它可以節省資金並確保業務成功。
這本書提供了任何工程師所需的工具和知識,以有效、專業且無壓力的方式提高軟體效率。作者Bartłomiej Płotka提供讓您的系統可以更快並且消耗更少資源所需的工具和知識,以及如何使用Go達成更好效率。此外,大多數內容與語言無關,您可以將小而有效的習慣帶入程式設計或產品管理週期中。
本書會向您展示如何:
‧釐清並協商效率目標
‧在各種等級上優化效率
‧有效地使用CPU和記憶體等公共資源
‧透過Prometheus、Jaeger和Parca等開源專案,使用度量、日誌記錄、追踪和(持續)效能分析等可觀察性信號來評估效率
‧應用go test、pprof、benchstat和k6等工具來建立可靠的微觀和宏觀基準測試
‧有效率地使用Go及其特性,例如切片、泛型、goroutine、配置語意、垃圾收集等
作者簡介
Bartłomiej Płotka 是Red Hat首席軟體工程師,具有可觀察性(observability)和SRE的背景。他是CNCF大使、TAG Observability技術負責人和Thanos專案聯合創始人。他還是其他用Go編寫的開源專案的核心維護者,包括Prometheus和bingo。
內容目錄
第1章 軟體效率很重要
第2章 Go 的有效率介紹
第3章 征服效率
第4章 Go 如何使用CPU 資源(或兩個)
第5章 Go 如何使用記憶體資源
第6章 效率可觀察性
第7章 資料驅動的效率評估
第8章 基準測試
第9章 資料驅動的瓶頸分析
第10章 優化範例
第11章 優化樣式
附錄A 餐巾紙數學計算的延遲
索引
第2章 Go 的有效率介紹
第3章 征服效率
第4章 Go 如何使用CPU 資源(或兩個)
第5章 Go 如何使用記憶體資源
第6章 效率可觀察性
第7章 資料驅動的效率評估
第8章 基準測試
第9章 資料驅動的瓶頸分析
第10章 優化範例
第11章 優化樣式
附錄A 餐巾紙數學計算的延遲
索引
ISBN: 9786263245587