当前位置:网站首页>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
边栏推荐
- 修改Jupyter Notebook文件路径
- OOM(内存溢出)造成原因及解决方案
- Modify the jupyter notebook file path
- Model application of time series analysis - stock price prediction
- 弹性布局(一)
- main函数在import语句中的特殊行为
- About binary cannot express decimals accurately
- 虚拟机的作用
- Fast quantitative, abbkine protein quantitative kit BCA method is coming!
- Wechat applet full stack development practice Chapter 3 Introduction and use of APIs commonly used in wechat applet development -- 3.10 tabbar component (I) how to open and use the default tabbar comp
猜你喜欢

. Net 5 fluentftp connection FTP failure problem: this operation is only allowed using a successfully authenticated context

计算机服务中缺失MySQL服务

Tujia, muniao, meituan... Home stay summer war will start

After the promotion, sales volume and flow are both. Is it really easy to relax?

【Liunx】进程控制和父子进程

Sword finger offer high quality code

Four goals for the construction of intelligent safety risk management and control platform for hazardous chemical enterprises in Chemical Industry Park

Circulating tumor cells - here comes abnova's solution

Bindingexception exception (error reporting) processing

深度学习花书+机器学习西瓜书电子版我找到了
随机推荐
[explanation of JDBC and internal classes]
Graduation design game mall
At the age of 20, I got the ByteDance offer on four sides, and I still can't believe it
[Luogu p1971] rabbit and egg game (bipartite game)
Example of Pushlet using handle of Pushlet
Circulating tumor cells - here comes abnova's solution
freeswitch拨打分机号源代码跟踪
OOM(内存溢出)造成原因及解决方案
How to reduce inventory with high concurrency on the Internet
Fullgc problem analysis and solution summary
Composition API premise
How to model and simulate the target robot [mathematical / control significance]
PostgreSQL source code (59) analysis of transaction ID allocation and overflow judgment methods
考研失败,卷不进大厂,感觉没戏了
Wechat applet full stack development practice Chapter 3 Introduction and use of APIs commonly used in wechat applet development -- 3.10 tabbar component (I) how to open and use the default tabbar comp
Exception of DB2 getting table information: caused by: com ibm. db2.jcc. am. SqlException: [jcc][t4][1065][12306][4.25.13]
外包干了三年,废了...
【Liunx】进程控制和父子进程
How does an enterprise manage data? Share the experience summary of four aspects of data governance
Tumor immunotherapy research prosci Lag3 antibody solution