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