Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Go 语言将使用 Go 代替 C 重写运行时环境

Go 1.4 的合并窗口在 9 月份将关闭,从现在开始到12月份发布 Go 1.4 之前将只接受 bug 修复和小调整。Go 1.4 最主要的变化是将使用 Go 语言本身来重写 Go 的运行时,而之前是采用 C 语言开发。这也是为什么 Go 的发行版中包含一个 C 编译器的原因。使用 Go 重写的好处是:
  • 当前如果在 Goroutine 的调用堆栈中发现 C 代码,runtime 将在需要增长堆栈时回滚到老的堆栈方法。如果使用 Go 来重写 runtime,那么堆栈拷贝的方法就会更加高效
  • 目前转换工作只计划转 Go 编译器 (5g, 6g, 8g), 而不是  C 编译器,降低运行时中的 C 代码行数,甚至可能完全清除
注意
  1. 这是 golang.org 分发版,也就是 gc ,而不是 gccgo
  2. 这是不同的 C 编译器,gc 工具链将使用你系统的 C 编译器来编译,gc 运行时则使用它的 C 编译器来编译
  3. 8月20日后增加的转换行可能跟 this request 有关
Ubuntu 安装Go语言包 http://www.linuxidc.com/Linux/2013-05/85171.htm《Go语言编程》高清完整版电子书 http://www.linuxidc.com/Linux/2013-05/84709.htmGo语言并行之美 -- 超越 “Hello World” http://www.linuxidc.com/Linux/2013-05/83697.htm我为什么喜欢Go语言 http://www.linuxidc.com/Linux/2013-05/84060.htmGo语言内存分配器的实现 http://www.linuxidc.com/Linux/2014-01/94766.htmGo语言的国际化支持(基于gettext-go) http://www.linuxidc.com/Linux/2014-01/94917.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/106067.htm