golang栈在1.3以前,默认栈大小是8kb,用的是分离的栈空间。
在函数调用子函数时,如果栈空间不足时,会为子函数申请一块新的栈空间,然后通过指针将两块栈空间连起来。在子函数调用完成后,会把申请的栈空间还回去。
如果频繁的调用子函数,就会出现频繁的申请,释放栈空间,就会产生hot split。
明天会讲如何解决这个问题!
golang栈在1.3以前,默认栈大小是8kb,用的是分离的栈空间。
在函数调用子函数时,如果栈空间不足时,会为子函数申请一块新的栈空间,然后通过指针将两块栈空间连起来。在子函数调用完成后,会把申请的栈空间还回去。
如果频繁的调用子函数,就会出现频繁的申请,释放栈空间,就会产生hot split。
明天会讲如何解决这个问题!