当前位置: 首页 > 网络应用技术

进行语言级别的性能优化

时间:2023-03-08 11:39:25 网络应用技术

  本课程主要是GO语言的优化

  提高软件系统处理能力,减少不必要的消费,并提供完整的挖掘计算机计算能力

  基本上与Java的概念相似,不再概述

  MSPAN,MCACHE和MCENTRAL构成了用于内存管理的多层缓存机制。

  可以看出,用于分配对象的功能占据了更高的CPU

  水平轴是对象的大小,垂直轴是数字。您会看到大多数对象少于80 b。因此,优化小对象的分布是关键。

  优化字节跳动

  从GO运行时内存管理模块的角度来看,分配缓冲区实际上是一个很大的对象。本质上,平衡的GC是分配了多个小对象的多个小对象。因此,即使GAB中只有一个小对象,运行时会认为整个大物体(IE GAB)幸存下来。为此,平衡的GC会根据GC策略将GAB中的幸存物体移至另一个GAB,以压缩和清理GAB的记忆空间。可以发布原始的GAB空间。显示(复制GC)

  上图上方是两个gabs,其中虚线代表了gab.black中对象的分界线。Black代表GAB生存的对象,White代表死亡的对象。由于生存而无法回收整个GABGAB中的对象。

  平衡的GC会将GAB中的幸存物体移至下面的GAB,以便可以释放,压缩和清洁GAB的记忆空间。

  平衡的GC仅负责Noscan对象的分布和运动。对象的标记和回收仍然取决于GO GC本身并保持与GO GC的兼容性。

  上图中的程序转换为控制流程图(控制流图)

  上面提到的是我不会详细介绍

  原始:https://juejin.cn/post/7097548408793071630