发布于 2016-04-28 08:17:45 | 106 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的GO语言教程,程序狗速度看过来!

Go语言

Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。Go是谷歌2009年发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言。


Go 1.7的开发周期即将接近下一个里程牌版本,不过Go的提交者Dave Cheney报告了在即将发布的释放版本中,团队在提升语言工具链方面所做的努力。

Cheney指出,基于当前的开发状态,Go 1.7将会很轻易地成为史上最棒的Go释放版本。在工具链提升方面的努力主要聚焦在两个领域:

  • 编译和连接时间;

  • 代码生成。

在编译时间方面,自从由C转向Go以来,Go编译器就饱受较差的性能所困扰。这个问题已经有了很多的讨论,在面向Go 1.7的版本中,最近的工作已经完成,它致力于减少编译器所使用的内存量并且在连接时间方面也有所提升。相对于Go 1.5.3,这能够将总的编译时间降低大约20-30%,如下图所示:

 

 

我们可以看到,Go 1.4.3编译器的性能依然要明显优于当前的1.7版本。不过,当前的性能提升也不应该被低估,尤其是新的Go编译器包含了一个全新的代码生成后端,在性能方面,它还没有完全成熟。

还需要提及的是自举(bootstrap)Go编译器的决策其实与性能无关,而是使用Go来取代C会在开发方面所带来的优势,这包括易于编写正确的代码、调试、更好的工具以及对并行的支持等等。实际上,Go编译器的代码是从C代码库自动转换得到的,而不是完全重写的。

如前文所述,代码生成是Go 1.7另一个主要关注的领域。新的后端改成了使用静态单一分配形式(static single assignment,SSA),这与LLVM和其他编译器相同,这样能够对生成的代码启用多项优化。其中包含无用代码消除(dead code elimination)、寄存器分配(register allocation)、栈帧分配(stack frame allocation)等。如Cheney所述,在当前的初步开发版本中,Go 1.7新的SSA后端所产生的代码在速度上能够最高提升20%。另外,相对于Go 1.6,它所产生的二进制会更小,在很多方面,这个版本能够与Go 1.4版本相媲美

原文:Go 1.7 to Improve Compilation Speed and Generate Faster Code

出处:InfoQ 译者:张卫滨



历史版本 :
Go 语言 1.9.3 发布,Go 1.10 计划下个月发布
go 1.10 beta2 发布,API 发生变化
Go 1.10 beta1 发布,正式版预计明年 2 月发布
Golang 1.9.2 和 1.8.5 发布,Bug 修复版本
Google Go 1.9.1 和 1.8.4 版本发布
Go 1.9 发布,包含语言,标准库,以及运行时的诸多变化
Go 1.9 第二个候选版发布,正式版预计 8 月发布
Go 1.9 首个候选版发布,正式版预计 8 月发布
Go 语言发布 2.X 计划,或将不完全向后兼容 Go 1.X
Google Go 1.9 beta2 发布,正式版预计 8 月发布
预计 8 月正式发布的 Golang 1.9 新特性抢先看
Google Go 1.9 beta1 发布,正式版预计 8 月发布
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务