步骤:
暂停所有任务执行
启动mark(mark这部分还是要把原程序停下来的
mark完成后就马上就重新启动被暂停的任务
sweep任务和普通协程任务一样并行
和其他任务一起执行 如果运行在多核处理器上,go会试图将gc任务放到单独的核心上运行而尽量不影响业务代码的执行
go team自己的说法是减少了50%-70%的暂停时间
优化目的:
基本算法: 清扫+回收 Golang gc优化的核心就是尽量使得STW(Stop The World)的时间越来越短
原文地址:https://www.cnblogs.com/allenhaozi/p/11109278.html
时间: 2024-10-30 02:35:47