Go 1.7 正式发布,改进编译器和链接器
oschina 2016年08月16日

Go 1.7 正式发布,改进编译器和链接器

oschina oschina 发布于2016年08月16日 收藏 24

腾讯云-1小时搭建人工智能应用,让技术更容易入门>>>  

在发布了 6 个 rc 版本之后,Go 1.7 终于正式发布了。

Go 现在的发布周期基本是半年一个版本( https://github.com/golang/go/wiki/Go-Release-Cycle ),新的功能特性的开发主要集中在前 3 个月,之后会冻结起来,原则上只接受 bug 修复和文档更新,最终完成测试和发布。

Go 1.7 的变化主要在工具链、运行时和库的实现上。语言规范只有一处很小的变化。

编译工具链方面,引入 SSA 应该是新版本最大的特性之一。“开发资讯”之前也介绍过该特性:引入SSA之后,Go语言程序的执行性能将明显提升 。引入该特性之后,编译器能够生成更紧凑、执行更高效的代码。该特性默认开启,可以使用“-ssa=0”参数关闭。基准测试表明,编译的 Go 程序执行时间可减少 5-35%。

包中的元数据格式从之前的文本格式修改为更紧凑的二进制格式。生成的包会更小。可以通过“-newexport=0”关闭该特性。

得益于编译器和链接器的改进,使用 Go 1.7 构建的二进制文件通常会比使用 Go 1.6 构建的小,有些情况下减少会多达 20-30%。

性能是不变的主题,通过新的编译器后端,以及对垃圾收集器和核心库的优化,大部分程序都会运行得更快。

国外最受欢迎的游戏流媒体视频网站 Twitch 的很多系统中就用到了 Go。根据 Twitch 工程师 Rhys Hiltner 的博客,他们使用了 6 月的 Go 1.7 预发布版本,在没有手动调优的情况下,GC 停顿时间都有更好的表现。就 Twitch 的聊天系统而言,通常停顿时间接近 1 毫秒,与调优过的 1.6 相比,都有 10 倍提升。

支持的系统方面,增加了对 macOS 10.12 Sierra 的支持。

更多细节见 Go 1.7 发布说明:https://tip.golang.org/doc/go1.7

如果对 Go 1.8 感兴趣,可以查看 https://groups.google.com/d/topic/golang-dev/098vr4999Tk/discussion

这里的讨论。


出处:微信公众平台:开发资讯 ,作者:臧秀涛 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Go 1.7 正式发布,改进编译器和链接器
分享
评论(73)
最新评论
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“dragons-宇”的评论

你这样只会让我们更加讨厌PHP

引用来自“eechen”的评论

脑残狗粉只会让我更加坚定反股沟和狗语言
作为一个phper,还真想你少说几句,动不动就"舔"...很怀疑你是在为php招黑
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“dragons-宇”的评论

你这样只会让我们更加讨厌PHP

引用来自“eechen”的评论

脑残狗粉只会让我更加坚定反股沟和狗语言
回复 @eechen : 不是什么东西都能粗略的呀,你这代码,真要拿来用的时候,那多出来的数据会加入你后续排序和计算欧几里得距离的过程,影响性能的呀。而且这种影响是毫无意义的浪费,要是写php都像你这么浪费,谁还敢用php. --via 张亦俊
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“dragons-宇”的评论

你这样只会让我们更加讨厌PHP
脑残狗粉只会让我更加坚定反股沟和狗语言
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.
你这样只会让我们更加讨厌PHP
0

引用来自“Doeeking”的评论

go在windows升级是不是得卸载原来的版本,重新安装环境,这也意味着以前安装的go第三方包的重新安装,这样会不会太麻烦呢?我说

引用来自“limengwei”的评论

第三方包不要装到go目录下,系统gopath单独一个目录

引用来自“juzhongmishi”的评论

GOROOT和GOPATH一样的话根本就跑不起来

引用来自“Doeeking”的评论

Windows下,goroot与gopath指向一样,但只要两个大小写不同也是可以的。我的就是这么装的
后来才明白这两变量设置不都会造成系统无法运行
0

引用来自“Doeeking”的评论

go在windows升级是不是得卸载原来的版本,重新安装环境,这也意味着以前安装的go第三方包的重新安装,这样会不会太麻烦呢?我说

引用来自“limengwei”的评论

第三方包不要装到go目录下,系统gopath单独一个目录

引用来自“juzhongmishi”的评论

GOROOT和GOPATH一样的话根本就跑不起来
Windows下,goroot与gopath指向一样,但只要两个大小写不同也是可以的。我的就是这么装的
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“nokia”的评论

eechen,为什么普通php不能弄mysql连接池,搞些什么swoole这些才行

引用来自“eechen”的评论

粉Google的果然大都是些小白无知,还PHP没有数据库连接池,笑死人?
PHP的持久连接,就是天然的透明的无需程序干预的数据库"连接池".
能够避免重复连接数据库:
http://static.oschina.net/uploads/space/2015/0919/222219_6hEX_561214.jpg

引用来自“wajqz”的评论

你这个叫长连接不叫连接池,而且根据php的运行模式不同,并不是长连接总有效

引用来自“eechen”的评论

http://my.oschina.net/eechen/blog/541139
PHP-FPM跑在pm = static下,长连接持久有效.
@eechen 也只能在php混混了
0

引用来自“eechen”的评论

@黄者 Google最好别跟PHP扯上关系,我可不想PHP因为Google反动被封了官网.
你这个逼装的有弹性、有深度、有湿度,水也不少,可以说是非常漂亮、滑爽。但是少了那么一丝朴实,没有给我焕然一新的感觉,如果再加入那么一丝朴实的话,这个逼就无人能挡了,我希望在国际装逼总决赛的舞台上,看到焕然一新的你,好吗?我给你YES。 --via struct
0
@eechen 已经到达战场30秒
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“nokia”的评论

eechen,为什么普通php不能弄mysql连接池,搞些什么swoole这些才行

引用来自“eechen”的评论

粉Google的果然大都是些小白无知,还PHP没有数据库连接池,笑死人?
PHP的持久连接,就是天然的透明的无需程序干预的数据库"连接池".
能够避免重复连接数据库:
http://static.oschina.net/uploads/space/2015/0919/222219_6hEX_561214.jpg

引用来自“wajqz”的评论

你这个叫长连接不叫连接池,而且根据php的运行模式不同,并不是长连接总有效
http://my.oschina.net/eechen/blog/541139
PHP-FPM跑在pm = static下,长连接持久有效.
0
哈哈 醉了
0

引用来自“eechen”的评论

@黄者 Google最好别跟PHP扯上关系,我可不想PHP因为Google反动被封了官网.
eechen 自己对很多事情不了解就开始胡说八道,还不听对方的话。以德报怨,何以报德?我们尊重他,他却只会更加猖狂,还是先教会他社会的法则吧!via MikeManilone
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“张露兵”的评论

嗯~~舔Golang确实不好,麻烦推荐点其他编程语言,不会让人说因为XXX舔XXX的那种(比如百度开发的,对了,我舔百度你们会不会说我啊?!)

引用来自“eechen”的评论

不舔Google的榜样应该是DropBox.
Go出来了,人家就用Go取代Python.
Mozilla的Rust出来了,人家就用Rust取代Go.
http://www.oschina.net/news/71571/dropbox-use-rust-replace-go
回复 @eechen : 不是什么东西都能粗略的呀,你这代码,真要拿来用的时候,那多出来的数据会加入你后续排序和计算欧几里得距离的过程,影响性能的呀。而且这种影响是毫无意义的浪费,要是写php都像你这么浪费,谁还敢用php. --via 张亦俊
0
用二进制包的方式安装,只要直接替换c:\Go里面的文件就可以了,如果用msi的方式那就得卸载重新安装了
0

引用来自“eechen”的评论

@黄者 Google最好别跟PHP扯上关系,我可不想PHP因为Google反动被封了官网.
DropBox最好别跟PHP扯上关系,我可不想DropBox因为PHP的性能影响用户体验.
0
@黄者 Google最好别跟PHP扯上关系,我可不想PHP因为Google反动被封了官网.
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“张露兵”的评论

嗯~~舔Golang确实不好,麻烦推荐点其他编程语言,不会让人说因为XXX舔XXX的那种(比如百度开发的,对了,我舔百度你们会不会说我啊?!)

引用来自“eechen”的评论

不舔Google的榜样应该是DropBox.
Go出来了,人家就用Go取代Python.
Mozilla的Rust出来了,人家就用Rust取代Go.
http://www.oschina.net/news/71571/dropbox-use-rust-replace-go
所以呢?
说明这里面根本没有PHP啥事?
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“张露兵”的评论

嗯~~舔Golang确实不好,麻烦推荐点其他编程语言,不会让人说因为XXX舔XXX的那种(比如百度开发的,对了,我舔百度你们会不会说我啊?!)
不舔Google的榜样应该是DropBox.
Go出来了,人家就用Go取代Python.
Mozilla的Rust出来了,人家就用Rust取代Go.
http://www.oschina.net/news/71571/dropbox-use-rust-replace-go
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“nokia”的评论

eechen,为什么普通php不能弄mysql连接池,搞些什么swoole这些才行

引用来自“eechen”的评论

粉Google的果然大都是些小白无知,还PHP没有数据库连接池,笑死人?
PHP的持久连接,就是天然的透明的无需程序干预的数据库"连接池".
能够避免重复连接数据库:
http://static.oschina.net/uploads/space/2015/0919/222219_6hEX_561214.jpg
你这个叫长连接不叫连接池,而且根据php的运行模式不同,并不是长连接总有效
0

引用来自“eechen”的评论

看的出来,国内因为Google舔Golang的人不再少数.

引用来自“nokia”的评论

eechen,为什么普通php不能弄mysql连接池,搞些什么swoole这些才行
粉Google的果然大都是些小白无知,还PHP没有数据库连接池,笑死人?
PHP的持久连接,就是天然的透明的无需程序干预的数据库"连接池".
能够避免重复连接数据库:
http://static.oschina.net/uploads/space/2015/0919/222219_6hEX_561214.jpg
顶部