当前位置: 首页 > 科技观察

Go语言将使用Go代替C来重写运行环境

时间:2023-03-15 22:19:00 科技观察

Go1.4的合并窗口将在9月关闭,从现在到12月Go1.4发布之间只接受错误修复和小的调整。Go1.4的主要变化是Go运行时将使用Go语言本身进行重写,而以前是使用C语言开发的。这就是Go发行版包含C编译器的原因。Go中重写的好处是:目前如果在Goroutine的调用堆栈中发现C代码,运行时将在需要增长堆栈时回退到旧堆栈方法。如果使用Go来重写运行时,那么栈复制的方式会更加高效。目前,转换工作只计划转移到Go编译器(5g、6g、8g),而不是C编译器,以减少运行时的C代码行数,甚至可能完全清楚注意这是golang.orgdistribution,akagc,notgccgo这是一个不同的C编译器,gc工具链会用你系统的C编译器编译,gc运行时会用它的C编译器编译8月20日后添加的转换行可能相关对此请求来自:dave.cheney.net