Go: Under the Hood Under the Hood
中文

Appendix A: Glossary

This appendix lists the main terms used in the book, grouped by topic and sorted alphabetically by English term within each group. Each entry links to the section that treats the term in detail, so that readers can look it up quickly.

Concurrency and Scheduling

TermChapterChineseAbbreviation
Actor Model1.3Actor 模型
Alternate Signal Stack9.6备用信号栈sigaltstack
Asymmetric Coroutine9.3非对称协程
Async-Signal-Safe9.6异步信号安全
Asynchronous Preemption9.7异步抢占
Back Edge9.7回边
Channel10.1channelchan
Communicating Sequential Processes1.3通信顺序进程CSP
Cooperative Preemption9.7协作式抢占
Coroutine9.3协程
Daemon Thread3.6守护线程
Deadlock1.3死锁
Direct Handoff10.3直接传递
Edge-Triggered9.9边沿触发ET
Full Coroutine9.3完全协程
Function Coloring9.3函数染色
goroutine9.3goroutineG/g
Goroutine Leak9.3goroutine 泄漏
Guarded Command1.3守卫命令
I/O Multiplexing9.9I/O 多路复用
Level-Triggered9.9水平触发LT
Machine9.3工作线程M/m
Main Goroutine3.6主 goroutine
Network Poller9.9网络轮询器netpoll
Non-spinning9.3非自旋
Non-Uniform Memory Access9.11非均匀访存NUMA
One-shot Continuation9.3一次性续延
Polling9.7轮询
Preemptive9.7抢占式
Processor9.3处理器P/p
Rendezvous1.3会合
Runtime1.2运行时
Safepoint9.7安全点
Scheduler9调度器sched
Self-Pipe Trick9.6自管道技巧
Signal Chaining9.6信号链
Spinning9.4自旋
Stackful Coroutine9.3有栈协程
Stackless Coroutine9.3无栈协程
Structured Concurrency3.6结构化并发
Symmetric Coroutine9.3对称协程
System Monitor9.8系统监控sysmon
System Stack9.3系统栈g0
Template Thread9.5模板线程
Thread-Local Storage3.5线程本地存储TLS
Time to Safepoint9.7到达安全点的时间TTSP
Timer9.10计时器
Work Stealing9.2工作窃取

Synchronization and the Memory Model

TermChapterChineseAbbreviation
ABA Problem11.3ABA 问题
Atomic Operation11.3原子操作
Barging11.2插队
Compare-And-Swap11.3比较并交换CAS
Condition Variable11.4条件变量
Consensus Number11.3共识数
Cooperative Cancellation11.8协作式取消
Critical Section11.2临界区
Data Race11.9数据竞争
Data-Race-Free11.9免数据竞争DRF
Epoch-Based Reclamation11.3纪元回收EBR
False Sharing12.2伪共享
Happens-Before11.9先行发生
Hazard Pointer11.3危险指针
Litmus Test11.9石蕊测试
Lock-free11.3无锁LF
Memory Barrier11.9内存屏障
Memory Consistency Model11.9内存一致模型
Monitor1.3管程
Multi-Copy Atomicity11.9多副本原子性
Obstruction-free11.3无阻碍
Out-of-Thin-Air Value11.9凭空出现的值OOTA
Read-Copy-Update11.3读-复制-更新RCU
Semaphore1.3信号量
Sequenced Before11.9程序次序先于
Sequential Consistency11.9顺序一致性SC
Spurious Wakeup11.4虚假唤醒
Store Buffer11.9存储缓冲
Synchronized Before11.9同步先于
Victim Cache11.6victim 缓存
Wait-free11.3无等待
Weak Ordering11.9弱序

Memory Allocation

TermChapterChineseAbbreviation
Arena12.3区域heapArena
Arena Hint12.3区域提示arenaHint
Commit12.3提交
External Fragmentation12.1外部碎片
Fast Path12.1快速路径
First Fit12.7首次适配
Free List12.2自由表
Heap12堆
Heap Profile12.8堆剖面
Internal Fragmentation12.1内部碎片
Large Object12.4大对象
Malloc Header12.1分配头
Page12.7页
Page Allocator12.7页分配器
Poisson Process12.8泊松过程
Radix Tree12.7基数树
Reserve12.3预留
Scavenging12.7归还
Size Class12.1尺寸类
Slow Path12.1慢速路径
Small Object12.5小对象
Summary12.7摘要
Tiny Allocator12.6微对象分配器
Tiny Object12.6微对象

Garbage Collection

TermChapterChineseAbbreviation
Bitmap13.5位图
Card Table13.8卡表
Cleanup13.10清理函数
Collector13.1回收器
Conservative13.7保守式
Finalizer13.10终结器
Garbage Collection13垃圾回收GC
Generational Hypothesis13.8分代假设
Graph Flood13.11图泛洪
Heap Goal13.3堆目标
Hybrid Write Barrier13.2混合写屏障
Liveness13.1存活性
Mark Assist13.4标记辅助
Mark Worker13.4标记工作者
Mark-Sweep13.1标记清扫
Mutator13.1赋值器
Pacer13.3调步器
Proportional Sweep13.5比例清扫
Ragged Barrier13.6不规则屏障
Reachability13.1可达性
Reference Counting13.13引用计数RC
Remembered Set13.8记忆集
Request Hypothesis13.9请求假设
Resurrection13.10复活
Soft Memory Limit13.3软内存限制
Span Queue13.11span 队列spanQueue
Special Record13.10特殊记录special
Stack Map13.7栈映射
Stack Object13.7栈对象
Stop the World13.1停止一切STW
Sweep13.5清扫
Sweep Generation13.5清扫代sweepgen
Tracing13.13追踪
Tricolor Abstraction13.1三色抽象
Tricolor Invariant13.1三色不变式
Weak Pointer13.10弱指针
Write Barrier13.2写屏障WB/wb

Execution Stack

TermChapterChineseAbbreviation
Contiguous Stack14.1连续栈
Frame Pointer2.2帧指针
Hot Split14.1热分裂
Prologue2.4函数序言
Segmented Stack14.1分段栈
Spill Space2.4溢出区
Stack14栈
Stack Copy14.4栈拷贝
Stack Frame2.2栈帧
Stack Growth14.3栈增长
Stack Guard2.4警戒线
Stack Pointer2.1栈指针SP
Stack Shrinking14.5栈收缩
Unwinder6.3栈展开器

Language Features and the Compiler

TermChapterChineseAbbreviation
ABI Wrapper2.3ABI 包装函数
Alias Declaration4.3别名声明
Application Binary Interface2.3应用二进制接口ABI
Argument Frame15.6参数帧
Automatic Semicolon Insertion15.1自动分号插入
Basic Block3.2基本块
Bounds-Check Elimination15.3边界检查消除BCE
Boxing4.2装箱
Callee-saved Register2.4被调方保存寄存器
Calling Convention2.3调用约定
Checked Exception7.1受检异常
Closure6.1闭包
Closure Context Register6.1闭包上下文寄存器
Constraint8.2约束
Contract8.2合约
Core Type8.3核心类型
Dead-Code Elimination3.4死代码消除
Defer Bits6.2延迟位图
Defer Statement6.2延迟语句
Devirtualization15.3去虚化
Dictionary Passing4.2字典传递
Dynamic Dispatch4.2动态分派
Error Tree7.2错误树
Escape Analysis15.5逃逸分析
Export Data3.2导出数据
F-bounded Polymorphism8.4F-有界多态
Fatal Error6.3致命错误
First-class Citizen6一等公民
GC Shape8.1GC 形状
GC Shape Stenciling8.1GC 形状模板化
Generic Method8.4泛型方法
Gradual Code Repair4.3渐进式代码修复
Higher-kinded Type8.4高阶类型
Inline Tree15.3内联树
Inlining15.3内联
Inlining Cost15.3内联成本
Interface Table4.2接口表itab
Intrinsic15.2内在函数
Iterative Stability15.3迭代稳定性
Leaf Function9.7叶函数
Method Expression6.1方法表达式
Method Set4.2方法集
Method Value6.1方法值
Mid-Stack Inlining15.3中栈内联
Monomorphization8.1单态化
Nominal Type4.1名义类型
Opaque Error7.4不透明错误
Open-coded Defer6.2开放编码式延迟
Panic6.3恐慌
Parameter Tag15.5参数标签
Pass15.2趟
Pinning15.6固定
Pointer Checker15.4指针检查器checkptr
Preamble15.6序言
Profile-Guided Devirtualization15.3按剖面去虚化
Profile-Guided Optimization15.3性能制导优化PGO
Program Counter2.1程序计数器PC
Pseudo-register2.1伪寄存器
Recursive Descent15.1递归下降
Register2.1寄存器
Rewrite Rule15.2重写规则
Sentinel Error7.4哨兵错误
Separate Compilation16.7分离编译
Source Stability15.3源码稳定性
Specialization8.4特化
Static Single Assignment15.2静态单赋值SSA
Structural Typing4.2结构化类型
Stub15.6桩函数
Syntax Tree3.2语法树
Token15.1词法单元
Transitive Inlining15.3传递内联
Type Definition4.3类型定义
Type Descriptor4.1类型描述符_type
Type Erasure8.1类型擦除
Type Inference8.3类型推断
Type Parameter8.1类型参数
Type Set8.3类型集
Unification8.3合一
Unified IR15.2统一 IR
Walk3.2降级
Wrapper Function6.3包装函数
Wrapping7.2包装

Data Structures

TermChapterChineseAbbreviation
Amortized Analysis5.1摊还分析
Chaining5.3链地址法
Collision5.3冲突
Control Word5.4控制字
Dynamic Array5.1动态数组
Extendible Hashing5.4可扩展哈希
Full Slice Expression5.1完整切片表达式
Hash Flooding5.3哈希洪水
Hash Trie11.7散列字典树
Interning5.2驻留
Lazy Deletion9.10惰性删除
Load Factor5.3装载因子
Lock Striping11.7锁分段
Open Addressing5.3开放定址法
Probe Sequence5.3探测序列
Ring Buffer10.2环形缓冲区
Timing Wheel9.10时间轮
Tombstone5.4墓碑

Modules and the Toolchain

TermChapterChineseAbbreviation
Action3.1动作
Action Graph3.1动作图
Auxiliary Vector3.5辅助向量auxv
Benchmark16.5基准测试
Bootstrapping3.3自举
Bubble16.1气泡
Build List17.3构建列表
Checksum Database17.4校验和数据库
Content Addressing3.1内容寻址
Diamond Dependency17.1钻石依赖
Directed Acyclic Graph3.6有向无环图DAG
Diverse Double-Compiling3.3多样化双重编译DDC
Durably Blocked16.1持久阻塞
Dynamic Linking3.4动态链接
Early Cutoff3.1提前截断
Epoch16.2纪元
Execution Tracer16.3执行追踪器
Fixed Point3.3不动点
Flame Graph16.5火焰图
Flight Recorder16.3飞行记录仪
Fuzzing16.4模糊测试
High Dynamic Range Histogram16.6HDR 直方图
High-Fidelity Build17.3高保真构建
Import Compatibility Rule17.2导入兼容性规则
Language Server Protocol16.7语言服务协议LSP
Layout3.4布局
Linker3.4链接器
Low-Fidelity Build17.1低保真构建
Mann–Whitney U Test16.5Mann–Whitney U 检验
Merkle Tree3.1Merkle 树
Minimal Version Selection17.3最小版本选择MVS
Module Graph Pruning17.3模块图剪枝
Object File3.4目标文件
Partial Deadlock16.1局部死锁
Profile16.5剖面
Profiling16.5剖析
Pseudo-Version17.2伪版本
Race Detector16.2竞态检测器
Rebuilding3.1重建判定
Relocation3.4重定位项
Reproducible Build3.1可复现构建
Runtime Metrics16.6运行时指标
Scheduling Latency16.3调度延迟
Seed Corpus16.4种子语料
Semantic Import Versioning17.2语义化导入版本
Semantic Versioning17.2语义化版本semver
Shadow Memory16.2影子内存
Shared Library3.4共享库
Snapshot16.7快照
Static Linking3.4静态链接
Static Lock Ranking16.1静态锁排序
Subtest16.4子测试
Symbol3.4符号
Symbol Resolution3.4符号解析
Table-Driven Test16.4表驱动测试
Topological Order3.6拓扑序
Topological Sort3.6拓扑排序
Transparent Log17.4透明日志
Trust on First Use17.4首次使用时信任TOFU
User Annotation16.3用户标注
Vector Clock16.2向量时钟
Wait-for Graph16.1等待图

Heterogeneous Computing and AI

TermChapterChineseAbbreviation
Arithmetic Intensity18.4算术强度
Autoregressive20.3自回归
Backpressure20.3背压
Batching19.1批处理
Byte Pair Encoding20.2字节对编码BPE
Command Buffer19.1命令缓冲
Continuous Batching20.3连续批处理
CUDA Driver API18.1驱动 API
CUDA Runtime API18.1运行时 API
Current Context19.2当前上下文
Decision Point21.2决策点
Decode20.3解码
Draw Call19.1绘制调用
Embarrassingly Parallel19.3易并行
Explicit API19.1显式 API
External Synchronization19.1外部同步
Extra M18.2extra M
Fixed-Function19.1固定功能
Graph Capture18.1图捕获
Harness21.1运行框架
Host21.2宿主
Instancing19.1实例化
Iteration-Level Scheduling20.3迭代级调度
KV Cache20.1KV 缓存
Launch Overhead18.1启动开销
Main Thread19.2主线程
Model Context Protocol21.2Model Context ProtocolMCP
Narrow Waist21.2细腰
Page-Locked Memory18.3页锁定内存
Prefill20.3预填充
Premultiplied Alpha19.4预乘 alpha
Quantization20.2量化
Render Bundle19.4渲染包
Rendering Pipeline19.1渲染管线
Roofline Model18.4Roofline 模型
Selective Batching20.3选择性批处理
Shader19.1着色器
Single Instruction, Multiple Threads18.4单指令多线程SIMT
Software Rendering19.3软件渲染
Stream18.1流
Stride20.2步长
Stub Model21.1桩模型
Thread Affinity19.2线程亲和
Tiling19.3分块
Time to First Token20.3首词元时间TTFT
Token20.2词元
Tokenizer20.2分词器
Unified Memory18.3统一内存
Workflow21.1工作流