当前位置:网站首页>四、高性能 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
边栏推荐
猜你喜欢
虚拟机的作用
Sword finger offer high quality code
Complete process of MySQL SQL
LC interview question 02.07 Linked list intersection & lc142 Circular linked list II
. Net 5 fluentftp connection FTP failure problem: this operation is only allowed using a successfully authenticated context
Wechat applet full stack development practice Chapter 3 Introduction and use of APIs commonly used in wechat applet development -- 3.9 introduction to network interface (IX) extending the request3 met
$refs:组件中获取元素对象或者子组件实例:
普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
Esxi attaching mobile (Mechanical) hard disk detailed tutorial
Calculus key and difficult points record part integral + trigonometric function integral
随机推荐
Music | cat and mouse -- classic not only plot
Differences between H5 architecture and native architecture
Unity3d learning notes
$refs: get the element object or sub component instance in the component:
Non empty verification of collection in SQL
Lvs+kept (DR mode) learning notes
【mysqld】Can't create/write to file
Advantages of using net core / why
Kuboard无法发送邮件和钉钉告警问题解决
Docker compose start redis cluster
Kuboard can't send email and nail alarm problem is solved
抽絲剝繭C語言(高階)指針的進階
Role of virtual machine
详解机器翻译任务中的BLEU
【云原生】内存数据库如何发挥内存优势
Abnova immunohistochemical service solution
Several important steps to light up the display
Stockage et pratique des données en langage C (haut niveau)
js小练习----分时提醒问候、表单密码显示隐藏效果、文本框焦点事件、关闭广告
JS decorator @decorator learning notes