Go 1.7规划:引入SSA GoLang的执行性能将明显提升

Keith Randall从2015年初就开始设计Go编译器的SSA(Static Single Assignment,静态单赋值)后端。将原来的IR转换成SSA形式的IR,可以引入更多优化,比如更好的公共子表达式消除、无用代码消除、寄存器分配和栈帧分配等,从而生成效率更高的指令。当然,编译速度可能会受到影响。

在探讨Go 1.7的开发计划时,Russ Cox就提到,在Go 1.7开发周期开始的时候,Keith想把基于SSA的编译器合并到主干代码中。(https://groups.google.com/forum/#!topic/golang-dev/TerfinvPffw)

近日,Keith Randall给出了与go1.6相比较的一组基准测试数据:gojizhun
可以看出,大部分情况下执行速度有明显改进。

至于编译速度,以编译net/http为例(go test -a -c -gcflags=-d=ssa/check/off net/http) 与go1.6相比,新的编译器大约慢7%。

期待随着编译器的不断优化,编译时间能进一步减少。

转载请注明来源:新一 » Go 1.7规划:引入SSA GoLang的执行性能将明显提升

赞 (0) 评论 (0) 分享 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址