-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
对比JAVA学习GO:JAVA程序员的GO语言速成指南
¥97.3¥139.0从零开始大模型开发与微调:基于PyTorch与ChatGLM(人工智能技术丛书)
¥65.0¥89.0FPGA数字系统设计
¥42.5¥59.8EFFECTIVE软件测试
¥73.5¥98.0
高效Go语言(影印版) 版权信息
- ISBN:9787576606591
- 条形码:9787576606591 ; 978-7-5766-0659-1
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
高效Go语言(影印版) 内容简介
随着技术的进步、市场的快速发展和系统复杂性的日益增加,软件工程师倾向于跳过软件效率这个令人不舒服的话题。然而,要想节省资金并确保业务成功,战术性的、由可观测性驱动的性能优化对于所有产品来说都是至关重要的。通过本书,任何工程师都可以轻松学会如何有效、专业且无压力地提高软件效率。作者Bart?omiej P?otka讲解了提高系统速度和降低资源消耗所需的工具和知识。本书将指导你使用Go实现更好的日常工作效率。此外,书中大多数内容与语言无关,以便你将小而有效的习惯带入编程或产品管理周期。
高效Go语言(影印版) 目录
1. Software Efficiency Matters
Behind Performance
Common Efficiency Misconceptions
Optimized Code Is Not Readable
You Aren't Going to Need It
Hardware Is Getting Faster and Cheaper
We Can Scale Horizontally Instead
Time to Market Is More Important
The Key to Pragmatic Code Performance
Summary
2. Efficient Introduction to Go
Basics You Should Know About Go
Imperative, Compiled, and Statically Typed Language
Designed to Improve Serious Codebases
Governed by Google, Yet Open Source
Simplicity, Safety, and Readability Are Paramount
Packaging and Modules
Dependencies Transparency by Default
Consistent Tooling
Single Way of Handling Errors
Strong Ecosystem
Unused Import or Variable Causes Build Error
Unit Testing and Table Tests
Advanced Language Elements
Code Documentation as a First Citizen
Backward Compatibility and Portability
Go Runtime
Object-Oriented Programming
Generics
Is Go "Fast"?
Summary
3. Conquering Efficiency
Beyond Waste, Optimization Is a Zero-Sum Game
Reasonable Optimizations
Deliberate Optimizations
Optimization Challenges
Understand Your Goals
Efficiency Requirements Should Be Formalized
Resource-Aware Efficiency Requirements
Acquiring and Assessing Efficiency Goals
Example of Defining RAER
Got an Efficiency Problem? Keep Calm!
Optimization Design Levels
Efficiency-Aware Development Flow
Functionality Phase
Efficiency Phase
Summary
4. How Go Uses the CPU Resource (or Two)
CPU in a Modern Computer Architecture
Assembly
Understanding Go Compiler
CPU and Memory Wall Problem
Hierachical Cache System
Pipelining and Out-of-Order Execution
Hyper-Threading
Schedulers
Operating System Scheduler
Go Runtime Scheduler
When to Use Concurrency
Summary
5. How Go Uses Memory Resource
Memory Relevance
Do We Have a Memory Problem?
Physical Memory
OS Memory Management
Virtual Memory
mmap Syscall
OS Memory Mapping
Go Memory Management
Values, Pointers, and Memory Blocks
Go Allocator
Garbage Collection
Summary
6. Efficiency Observability
Observability
Example: Instrumenting for Latency
Logging
Tracing
Metrics
Efficiency Metrics Semantics
Latency
CPU Usage
Memory Usage
Summary
7. Data-Driven Efficiency Assessment
Complexity Analysis
"Estimated" Efficiency Complexity
Asymptotic Complexity with Big 0 Notation
Practical Applications
The Art of Benchmarking
Comparison to Functional Testing
Benchmarks Lie
Reliability of Experiments
Human Errors
Reproducing Production
Performance Nondeterminism
Benchmarking Levels
Benchmarking in Production
Macrobenchmarks
Microbenchmarks
What Level Should You Use?
Summary
8. Benchmarking
Microbenchmarks
Go Benchmarks
Understanding the Results
Tips and Tricks for Microbenchmarking
Too-High Variance
Find Your Workflow
Test Your Benchmark for Correctness!
Sharing Benchmarks with the Team (and Your Future Self)
Running Benchmarks for Different Inputs
Microbenchmarks Versus Memory Management
Compiler Optimizations Versus Benchmark
Macrobenchmarks
Basics
Go e2e Framework
Understanding Results and Observations
Common Macrobenchmarking Workflows
Summary
9. Data-Driven Bottleneck Analysis
Root Cause Analysis, but for Efficiency
Profiling in Go
pprof Format
go tool pprof Reports
Capturing the Profiling Signal
Common Profile Instrumentation
Heap
Goroutine
CPU
Off-CPU Time
Tips and Tricks
Sharing Profiles
Continuous Profiling
Comparing and Aggregating Profiles
Summary
10. Optimization Examples
Sum Examples
Optimizing Latency
Optimizing bytes.Split
Opt
高效Go语言(影印版) 作者简介
巴特洛梅耶·普洛特卡(Bartlomiej Ptotka)是Red Hat的首席软件工程师,拥有可观测性和SRE方面的专业背景。他是CNCF大使、TAG可观测性技术负责人以及Thanos项目的联合创始人。此外,他还是包括Prometheus和bingo在内的开源Go项目的核心维护者。
- >
自卑与超越
自卑与超越
¥13.5¥39.8 - >
诗经-先民的歌唱
诗经-先民的歌唱
¥18.7¥39.8 - >
【精装绘本】画给孩子的中国神话
【精装绘本】画给孩子的中国神话
¥17.6¥55.0 - >
人文阅读与收藏·良友文学丛书:一天的工作
人文阅读与收藏·良友文学丛书:一天的工作
¥14.7¥45.8 - >
经典常谈
经典常谈
¥16.3¥39.8 - >
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
¥9.7¥14.0 - >
我与地坛
我与地坛
¥15.4¥28.0 - >
李白与唐代文化
李白与唐代文化
¥12.5¥29.8
-
详解Spring Boot(从入门到企业级开发实战)/孙鑫精品图书系列
¥64.2¥129 -
PYTHON应用与实战
¥52.9¥79.8 -
Python编程与数值方法
¥79.6¥109 -
Go语言从入门到项目实战(视频版)
¥60.4¥108 -
软件设计师
¥14.2¥38 -
GO语言编程从入门到实践
¥75.6¥108