当前位置:网站首页>4、 High performance go language release optimization and landing practice youth training camp notes
4、 High performance go language release optimization and landing practice youth training camp notes
2022-07-07 07:24:00 【A low-key horse】
High performance Go Language distribution optimization and implementation practice | Youth Camp notes
This is my participation 「 The third youth training camp - Back end field 」 The third part of note creation activities 4 Notes
Memory aspect
One 、 Automatic memory management
Concept :
Mutator: Business thread , Assign new objects , Modify the object pointing relationship ( Created goroutine)
Collector:GC Threads , Find the living object , Reclaim memory space of dead objects
Serial GC: only one collector
Parallel GC: Support multiple collectors Recycled at the same time GC Algorithm
Concurrent GC:mutator(s) and collector(s) It can be executed at the same time


GC:
GC Algorithm : Security 、 Throughput rate 、 Pause time 、 Memory overhead
Track garbage collection :
- Tag root object
- Mark reachable objects
- Clean up unreachable objects
- Use different marking and cleaning strategies according to the life cycle of the object
generational GC:
Age : experienced GC The number of times
Purpose : For young or old people of different ages , Develop different strategies GC Strategy , Reduce overall memory management overhead

Reference count :
- Each object has the number of references associated with it , Greater than 0 It's survival
- The disadvantage is that ring data structures cannot be recycled 、 Maintaining reference counts is expensive
Two 、Go Memory management and optimization
Memory allocation :
Block
cache
Management optimization
go Memory allocation
- Actual optimization plan :Balanced GC
Compiler optimization
One 、 Compiler and static analysis
Compiler structure :
Static analysis :
In process analysis 、 Interprocess analysis :
Two 、Go Compiler optimization
Function inlining :
Escape analysis :
Static analysis :
In process analysis 、 Interprocess analysis :
Two 、Go Compiler optimization
Function inlining :
Escape analysis :
Beast mode
边栏推荐
- 1089: highest order of factorial
- Abnova circulating tumor DNA whole blood isolation, genomic DNA extraction and analysis
- 弹性布局(二)
- Flexible layout (II)
- How to model and simulate the target robot [mathematical / control significance]
- URP - shaders and materials - simple lit
- Stack Title: nesting depth of valid parentheses
- 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
- 点亮显示屏的几个重要步骤
- Bindingexception exception (error reporting) processing
猜你喜欢

Model application of time series analysis - stock price prediction

Leetcode t1165: log analysis

transform-origin属性详解

Abnova membrane protein lipoprotein technology and category display

main函数在import语句中的特殊行为

1090: integer power (multi instance test)

計算機服務中缺失MySQL服務

抽丝剥茧C语言(高阶)指针进阶练习

Communication between non parent and child components

普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
随机推荐
Academic report series (VI) - autonomous driving on the journey to full autonomy
leetcode 509. Fibonacci number
Esxi attaching mobile (Mechanical) hard disk detailed tutorial
弹性布局(一)
Stack Title: nesting depth of valid parentheses
About binary cannot express decimals accurately
抽絲剝繭C語言(高階)數據的儲存+練習
FPGA course: application scenario of jesd204b (dry goods sharing)
How to model and simulate the target robot [mathematical / control significance]
抽丝剥茧C语言(高阶)数据的储存+练习
Modify the jupyter notebook file path
L'étape avancée du pointeur de langage C (haut de gamme) pour l'enroulement des cocons
Flexible layout (II)
Hidden Markov model (HMM) learning notes
Graduation design game mall
组件的通信
LC interview question 02.07 Linked list intersection & lc142 Circular linked list II
Software acceptance test
子组件传递给父组件
Lm11 reconstruction of K-line and construction of timing trading strategy