Threads (@digital_uniquelogic)
dev-toolsproductivity
Original source

Jeff Dean & Sanjay Ghemawat 效能調優指南摘要

Summary

Google 工程師 Jeff Dean & Sanjay Ghemawat 的效能優化七大原則:

1. 建立效能意識與「3% 原則」

  • 效能優化融入日常習慣,非事後救火
  • 忽略效能會導致「無處不慢」的系統,無法靠局部微調解決

2. 培養效能直覺與量化估算

  • 寫 code 前先做 back-of-the-envelope calculations
  • 必須對硬體底層開銷有數字概念(cache、memory、network latency)

3. 極致發揮快取效益

  • 提升 Cache Hit Rate、降低記憶體匯流排流量
  • 重排欄位減少 padding、用更小型態、頻繁存取欄位集中、用陣列索引取代指標

4. 演算法升級與 API 設計

  • 最大躍升來自演算法改良(O(N²)→O(N))
  • 用 Bulk API 分攤 Lock 開銷、用 string_view/Span 避免資料拷貝

5. 先測量再優化

  • 不憑猜測;成熟系統 CPU Profile 往往平坦
  • 微基準測試 + 效能計數器,1% 改進疊加成巨大效益
  • 結構性優化通常隱藏在 Call Stack 更高層

6. 記憶體配置非免費

  • 頻繁 alloc/free 加劇 cache miss、增加 GC 壓力
  • 物件復用、預先配置容量、記憶體池、優先 stack allocation

7. 消除無效運算、善用 Fast Path

  • 針對常見情境設計快速路徑,避免繞進通用邏輯
  • Lazy evaluation、預先計算固定資訊、復用暫存物件、減少非必要 Log