当前位置:网站首页>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
边栏推荐
- 95后CV工程师晒出工资单,狠补了这个,真香...
- Tumor immunotherapy research prosci Lag3 antibody solution
- 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
- Non empty verification of collection in SQL
- leetcode 509. Fibonacci number
- 抽丝剥茧C语言(高阶)指针进阶练习
- Jesd204b clock network
- transform-origin属性详解
- PostgreSQL source code (60) transaction system summary
- SQLMAP使用教程(四)实战技巧三之绕过防火墙
猜你喜欢

. Net core accesses uncommon static file types (MIME types)

深度学习花书+机器学习西瓜书电子版我找到了

Abnova immunohistochemical service solution

Release notes of JMeter version 5.5

Unity3d learning notes

Leetcode t1165: log analysis

Detailed explanation of neo4j installation process

About binary cannot express decimals accurately

Project practice five fitting straight lines to obtain the center line

Non empty verification of collection in SQL
随机推荐
Nesting and splitting of components
Multidisciplinary integration
Causes and solutions of oom (memory overflow)
L'étape avancée du pointeur de langage C (haut de gamme) pour l'enroulement des cocons
Le Service MySQL manque dans le service informatique
URP - shaders and materials - light shader lit
Abnova immunohistochemical service solution
Differences between H5 architecture and native architecture
ROS2规划系统plansys2简单的例子
詳解機器翻譯任務中的BLEU
Pass child component to parent component
[explanation of JDBC and internal classes]
Procedure in PostgreSQL supports transaction syntax (instance & Analysis)
About binary cannot express decimals accurately
How to * * labelimg
Abnova membrane protein lipoprotein technology and category display
组件的嵌套和拆分
Graduation design game mall
AVL树的实现
How do I get the last part of a string- How to get the last part of a string?