高效GO语言(影印版)
Bartlomiej Plotka
出版时间:2023年03月
页数:476
“本书精彩且富有见地,改变了人们对于Go软件效率的看法。你会学到如何在优化代码库和识别可优化模式的同时进行数据驱动的评估。作者想做的就是减轻你的学习负担,让你一敲代码就忍不住关心代码的效率!”
——Saswata Mukherjee
Red Hat工程师

随着技术的进步、市场的快速发展和系统复杂性的日益增加,软件工程师倾向于跳过软件效率这个令人不舒服的话题。然而,要想节省资金并确保业务成功,战术性的、由可观测性驱动的性能优化对于所有产品来说都是至关重要的。
通过本书,任何工程师都可以轻松学会如何有效、专业且无压力地提高软件效率。作者Bartlomiej Plotka讲解了提高系统速度和降低资源消耗所需的工具和知识。本书将指导你使用Go实现更好的日常工作效率。此外,书中大多数内容与语言无关,以便你将小而有效的习惯带入编程或产品管理周期。
本书将教会你如何:
● 阐明并协商效率目标
● 优化各个层面的效率
● 有效利用CPU和内存等公共资源
● 通过Prometheus、Jaeger、Parca等开源项目,使用指标、日志记录、跟踪和(连续)剖析等可观测性信号评估效率
● 应用go test、pprof、benchstat和k6等工具创建可靠的微观和宏观基准
● 高效地使用Go及其特性,如切片、泛型、goroutines、分配语义、垃圾收集等
  1. Preface
  2. 1. Software Efficiency Matters
  3. Behind Performance
  4. Common Efficiency Misconceptions
  5. The Key to Pragmatic Code Performance
  6. Summary
  7. 2. Efficient Introduction to Go
  8. Basics You Should Know About Go
  9. Advanced Language Elements
  10. Is Go “Fast”?
  11. Summary
  12. 3. Conquering Efficiency
  13. Beyond Waste, Optimization Is a Zero-Sum Game
  14. Optimization Challenges
  15. Understand Your Goals
  16. Got an Efficiency Problem? Keep Calm!
  17. Optimization Design Levels
  18. Efficiency-Aware Development Flow
  19. Summary
  20. 4. How Go Uses the CPU Resource (or Two)
  21. CPU in a Modern Computer Architecture
  22. Assembly
  23. Understanding Go Compiler
  24. CPU and Memory Wall Problem
  25. Schedulers
  26. When to Use Concurrency
  27. Summary
  28. 5. How Go Uses Memory Resource
  29. Memory Relevance
  30. Do We Have a Memory Problem?
  31. Physical Memory
  32. OS Memory Management
  33. Go Memory Management
  34. Summary
  35. 6. Efficiency Observability
  36. Observability
  37. Example: Instrumenting for Latency
  38. Efficiency Metrics Semantics
  39. Summary
  40. 7. Data-Driven Efficiency Assessment
  41. Complexity Analysis
  42. The Art of Benchmarking
  43. Reliability of Experiments
  44. Benchmarking Levels
  45. Summary
  46. 8. Benchmarking
  47. Microbenchmarks
  48. Tips and Tricks for Microbenchmarking
  49. Macrobenchmarks
  50. Common Macrobenchmarking Workflows
  51. Summary
  52. 9. Data-Driven Bottleneck Analysis
  53. Root Cause Analysis, but for Efficiency
  54. Profiling in Go
  55. Capturing the Profiling Signal
  56. Common Profile Instrumentation
  57. Tips and Tricks
  58. Summary
  59. 10. Optimization Examples
  60. Sum Examples
  61. Optimizing Latency
  62. Optimizing Memory Usage
  63. Optimizing Latency Using Concurrency
  64. Bonus: Thinking Out of the Box
  65. Summary
  66. 11. Optimization Patterns
  67. Common Patterns
  68. The Three Rs Optimization Method
  69. Don’t Leak Resources
  70. Pre-Allocate If You Can
  71. Overusing Memory with Arrays
  72. Memory Reuse and Pooling
  73. Summary
  74. Next Steps
  75. A. Latencies for Napkin Math Calculations
  76. Index
书名:高效GO语言(影印版)
作者:Bartlomiej Plotka
国内出版社:东南大学出版社
出版时间:2023年03月
页数:476
书号:978-7-5766-0659-1
原版书书名:Efficient Go
原版书出版商:O'Reilly Media
Bartlomiej Plotka
 
Bartlomiej Plotka是Red Hat的首席软件工程师,拥有可观测性和SRE方面的专业背景。他是CNCF大使、TAG可观测性技术负责人以及Thanos项目的联合创始人。此外,他还是包括Prometheus和bingo在内的开源Go项目的核心维护者。
 
 
The animal on the cover of Efficient Go is a purple heron (Ardea purpurea). There is a wide variety of subspecies of these herons, and they are occasionally confused with their larger relative, the gray heron.
Purple herons are recognized by their long bills and necks, as well as by their narrow bodies and wings. Light grayish-purple feathers cover the majority of their bodies with some areas of black, chestnut brown, and white throughout. Their long, snakelike neck is brown with black stripes running down the sides. Black feathers crown their head, belly, and tail tip. Long legs allow them to wade through water and help them see from higher vantage points.
They can be found across the globe in temperate and tropical Europe, Asia, and Africa. While they favor freshwater and tall reed beds, they can also be found living in sedge beds, mangroves, brackish water, swamps, rice fields, rivers, lake shores, and coastal mudflats. They prefer areas covered with thick vegetation and are more commonly seen flying rather than nestled into their habitat.
Water is key to the survival of purple herons, as their primary diet is small-tomedium-sized fish. Insects (beetles, locusts, and dragonflies) also provide ample nourishment, as well as the occasional frog, salamander, or small mammal.
购买选项
定价:128.00元
书号:978-7-5766-0659-1
出版社:东南大学出版社