hot split

golang栈在1.3以前,默认栈大小是8kb,用的是分离的栈空间。

在函数调用子函数时,如果栈空间不足时,会为子函数申请一块新的栈空间,然后通过指针将两块栈空间连起来。在子函数调用完成后,会把申请的栈空间还回去。

如果频繁的调用子函数,就会出现频繁的申请,释放栈空间,就会产生hot split。

明天会讲如何解决这个问题!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章可以看作是内存管理这篇长文的学习总结吧,原文基于源码剖析了整个go的内存管理,非常详尽。 程序中的数据和变...
    彦帧阅读 1,136评论 0 0
  • 一、内存分区:数据区+代码区+堆区+栈区1、数据区:分为静态数据区,全局变量区的存储是放在一块的。即static,...
    SuperDing阅读 1,208评论 1 1
  • C语言知识点 C 中的注意点 对于C来讲,最麻烦的是不断的malloc 和 free。特别是对于三阶指针那种情况。...
    fatesnight阅读 821评论 0 0
  • 阅读经典——《深入理解计算机系统》04 函数调用时的栈结构变化是一个很有趣的话题,本文就来详细剖析这个过程。 栈帧...
    金戈大王阅读 23,444评论 14 36
  • lambda表达式常见用法 :【最常见】1 [capture list] {function body} //...
    哄哄_2b41阅读 624评论 0 0