知识卡片

逃逸决定堆栈归属

专业/工作 · 470.b.1.a.1.c.3.a.1

内容

逃逸分析判断对象是否会离开当前作用域,决定能否分配在栈上;逃到堆上会增加 GC 压力。发散:Go 的性能常藏在“看起来很小的指针”背后。对GC压力的影响见[[逃逸分析降GC压力]]。

参考来源

- 位置:《Go语言入门到实战(共3册)》第6章《Go语言编程之旅:第6章 Go语言中的大杀器》(源文件:_epub-src/text/part0011_split_000.html) - 结论依据:原文围绕“逃逸分析”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:的,因此必须根据应用情况调整度量指标的具体设置,且每隔一段时间就要审视一次,以此判断其是否仍然合理有效。 未知 6.8 逃逸分析 我们在排查问题或写代码时,偶尔会回想这个变量到底分配到哪里了,这时可能会有人说:“在栈上,在堆上,信我准没错,某语言就是这样子的,就是这样改。” 我们知道,其他语言和Go……