当前位置:网站首页>四、高性能 Go 语言发行版优化与落地实践 青训营笔记
四、高性能 Go 语言发行版优化与落地实践 青训营笔记
2022-07-07 03:40:00 【低调的骏马】
高性能 Go 语言发行版优化与落地实践 | 青训营笔记
这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记
内存方面
一、自动内存管理
概念:
Mutator:业务线程,分配新对象,修改对象指向关系(创建的goroutine)
Collector:GC线程,找到存活对象,回收死亡对象的内存空间
Serial GC:只有一个collector
Parallel GC:支持多个collectors同时回收的GC算法
Concurrent GC:mutator(s)和collector(s)可以同时执行
GC:
GC算法:安全性、吞吐率、暂停时间、内存开销
追踪垃圾回收:
- 标记根对象
- 标记可达对象
- 清理不可达对象
- 根据对象的生命周期使用不同的标记和清理策略
分代GC:
年龄:经历过GC的次数
目的:针对不同年龄年轻或者老年的对象,制定不同的GC策略,降低整体内存管理的开销
引用计数:
- 每个对象有与之关联的引用次数,大于0则是存活
- 缺点是无法回收环形数据结构、维护引用计数开销较大
二、Go内存管理及优化
内存分配:
分块
缓存
管理优化
go的内存分配
- 实际优化方案:Balanced GC
编译器优化
一、编译器和静态分析
编译器结构:
静态分析:
过程内分析、过程间分析:
二、Go编译器优化
函数内联:
逃逸分析:
静态分析:
过程内分析、过程间分析:
二、Go编译器优化
函数内联:
逃逸分析:
Beast mode
边栏推荐
- After the promotion, sales volume and flow are both. Is it really easy to relax?
- 【云原生】内存数据库如何发挥内存优势
- Differences between H5 architecture and native architecture
- 修改Jupyter Notebook文件路径
- $parent (get parent component) and $root (get root component)
- IP address
- Mobx knowledge point collection case (quick start)
- JS small exercise
- 记一个并发规则验证实现
- [Luogu p1971] rabbit and egg game (bipartite game)
猜你喜欢
Pass child component to parent component
Reflection (II)
. Net core accesses uncommon static file types (MIME types)
抽絲剝繭C語言(高階)數據的儲存+練習
How does an enterprise manage data? Share the experience summary of four aspects of data governance
普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
非父子组件的通信
弹性布局(一)
Four goals for the construction of intelligent safety risk management and control platform for hazardous chemical enterprises in Chemical Industry Park
Composition API premise
随机推荐
Several important steps to light up the display
Databinding exception of kotlin
软件验收测试
关于二进制无法精确表示小数
Academic report series (VI) - autonomous driving on the journey to full autonomy
记一个并发规则验证实现
Pass parent component to child component: props
Networkx drawing and common library function coordinate drawing
Summary of customer value model (RFM) technology for data analysis
Flexible layout (II)
FullGC问题分析及解决办法总结
Special behavior of main function in import statement
详解机器翻译任务中的BLEU
Unity C function notes
Sqlserver multithreaded query problem
Communication between non parent and child components
Test of transform parameters of impdp
JS decorator @decorator learning notes
Answer to the second stage of the assignment of "information security management and evaluation" of the higher vocational group of the 2018 Jiangsu Vocational College skills competition
组件的通信