默认
即时通讯网 资讯 [动态] Go语言v1.8正式发布,有显著的性能提升和变化
即时通讯网 首页 资讯 查看内容
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议

[动态] Go语言v1.8正式发布,有显著的性能提升和变化

JackJiang · 7 年前 | 阅读(16390)· 评论(1 转发 收藏

摘要 Go语言 v1.8 正式版已发布,标准库有显著的性能提升和变化。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

前言

Go语言现在在服务端的网络编程领域越来越火,尤其像IM即时通讯应用这种富网络应用且对服务端网络性能要求极高的场景,很高兴看到Golang发布了1.8正式版,希望在多核架构横行的时代多一些这种顺应时代而生的技术。

Go语言简介

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。

谷歌大约2007年开始开发Go,并于2008年投入了一组全职员工。谷歌当初将该语言设计为一款系统编程语言,可以被用于网络服务器、存储系统和数据库中。但是谷歌认为,该语言还有望被用于其它领域。

Go适合用来做什么

  • 服务器编程:以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等;
  • 分布式系统,数据库代理器等;
  • 网络编程:这一块目前应用最广,包括IM应用、消息推送技术、Web应用、API应用、下载应用;
  • 内存数据库:前一段时间google开发的groupcache,couchbase的部分组件;
  • 云平台:目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。

Go 1.8版主要更新内容

  • Go 1.7中为64位x86系统引入的编译器后端现在用于所有体系结构,在这些体系结构下可以看到显着的性能改进。例如,我们的基准程序所需的CPU时间在32位ARM系统上减少了20-30%。在此版本中,对于64位x86系统也有一些性能提升。编译器和链接器跑得更快。编译时间应该比Go 1.7缩短约15%。在这一领域还有更多的工作要做:希望未来版本的编译速度更快。

  • 垃圾收集暂停应明显更短,通常在100微秒以下,通常低至10微秒。

  • HTTP服务器添加对HTTP/2 Push的支持,允许服务器向客户端推送。这对于消除网络延迟非常有用。 HTTP服务器还添加了对优雅停机的支持,允许服务器完成正在运行的请求之后关闭从而最小化停机时间。

  • context(添加到Go 1.7中的标准库)提供了取消和超时机制。 Go 1.8在更多的标准库中添加了对context的支持,包括database/sql和net包以及net/http包中的Server.Shutdown。

  • 现在使用新添加的Slice函数使得对slice进行排序更简单。

更多新版本的添加、改进和修复内容,以及上面列出的改进的详细信息请查看Go 1.8发行说明:https://golang.org/doc/go1.8

Go语言官网

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

相关阅读

researchboy 7 年前
学无止境 加油!

返回顶部