Go语言内存管理|青训营笔记

66 阅读1分钟

这是我参与「第五届青训营」伴学笔记活动的第五天

今日相关术语记录:

自动内存管理

  • Auto memory management: 自动内存管理

  • Grabage collction: 垃圾回收

  • Mutator: 业务线程

  • Collector: GC 线程

  • Concurrent GC: 并发 GC

  • Parallel GC: 并行 GC

  • Tracing garbage collection: 追踪垃圾回收

    • Copying GC: 复制对象 GC
    • Mark-sweep GC: 标记-清理 GC
    • Mark-compact GC: 标记-压缩 GC
  • Reference counting: 引用计数

  • Generational GC: 分代 GC

  • Young generation: 年轻代
    -Old generation: 老年代
    Go 内存管理及优化

  • TCMalloc

  • mmap() 系统调用

  • scan object 和 noscan object

  • mspan, mcache, mentral

  • Bump-pointer object allocation: 指针碰撞风格的对象分配 编译器和静态分析

  • 词法分析

  • 语法分析

  • 语义分析

  • Intermediate representation (IR) 中间表示

  • 代码优化

  • 代码生成

  • Control flow: 控制流

  • Data flow: 数据流

  • Intra-procedural analysis 过程内分析

  • Inter-procedural analysis: 过程间分析 Go 编译器优化

  • Function inlining: 函数内联

  • Escape analysis: 逃逸分析