引入SSA之后,Go 语言的执行性能将明显提升

来源:开源中国社区 作者:开发资讯
  

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相比较的一组基准测试数据:

可以看出,大部分情况下执行速度有明显改进。

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

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

来自微信号:开发资讯


时间:2016-03-14 08:04 来源:开源中国社区 作者:开发资讯 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量