潍坊市论坛

注册

 

发新话题 回复该主题

通过实例理解Go逃逸分析 [复制链接]

1#

关于Go变量的逃逸分析,大多数Gopher其实并不用关心,甚至可以无视。但是如果你将Go应用于性能敏感的领域,要完全压榨出Go应用的性能,那么理解Go逃逸分析就大有裨益了。在本文,我们就一起来理解一下Go的逃逸分析。

1.逃逸分析(escapeanalysis)要解决的问题

C/C++语言出身的程序员[2]对堆内存(heap)和栈内存(stack)都有着“泾渭分明”的理解。在操作系统演化出现进程虚拟内存地址(virtualmemoryaddress)的概念后,如下图所示,应用程序的虚拟内存地址空间就被划分为堆内存区(如图中的heap)和栈内存区(如图中的stack):

图:一个进程的虚拟内存地址空间(图来自
分享 转发
TOP
发新话题 回复该主题