阅读更多

1顶
0踩

编程语言

Go 1.4 的合并窗口在 9 月份将关闭,从现在开始到12月份发布 Go 1.4 之前将只接受 bug 修复和小调整。

 

Go 1.4 最主要的变化是将使用 Go 语言本身来重写 Go 的运行时,而之前是采用 C 语言开发。这也是为什么 Go 的发行版中包含一个 C 编译器的原因。

 

使用 Go 重写的好处是:

  • 当前如果在 Goroutine 的调用堆栈中发现 C 代码,runtime 将在需要增长堆栈时回滚到老的堆栈方法。如果使用 Go 来重写 runtime,那么堆栈拷贝的方法就会更加高效
  • 目前转换工作只计划转 Go 编译器 (5g, 6g, 8g), 而不是 C 编译器,降低运行时中的 C 代码行数,甚至可能完全清除

注意

  1. 这是 golang.org 分发版,也就是 gc ,而不是 gccgo
  2. 这是不同的 C 编译器,gc 工具链将使用你系统的 C 编译器来编译,gc 运行时则使用它的 C 编译器来编译
  3. 8月20日后增加的转换行可能跟 this request 有关

via dave.cheney.net

 

相关链接

想通过手机客户端(支持 Android、iPhone 和 Windows Phone)访问开源中国:请点这里 

1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 用Go语言编写的实验计算机代数系统-Golang开发

    Expreduce实施了一种具有专门结构的语言,用于术语重写。 对于计算机代数系统而言,它是一种简洁的语言,因为它能够以与标准数学方程式非常相似的形式来表达表达式操作步骤。 例如,微积分中的乘积规则可以表示为:D...

  • biztalk大规模高性能高可用部署方案

    一、         单服务器... 1 二、         双服务器... 2 三、         基本高可用... 3 1、           Biztalk高可用实现... 3 1.1.         biztalk group. 3 1.2.         biztalk host & host instance. 4 1.3.         biztalk clust...

  • 怎样将BizTalk服务器应用程序和Service Bus Queues 和 Topics整合起来

    微软BizTalk服务器使相关组织能够与贸易伙伴一起连接并跨企业扩展异构系统。Service Bus是Windows Azure的一部分,旨在提供连接、队列和路由功能,不仅仅是为云计算应用程序而且也为非云端应用程序。两者一起使用使得在相当多的情形中你可以构建安全、可靠、可扩展的跨越云和非云端环境的混合解决方案,例如:微软BizTalk服务器。 与贸易伙伴交换电子文档。 向第三方显示防火墙后运行...

  • Go 语言将使用 Go 代替 C 重写运行时环境

    Go 1.4 最主要的变化是将使用 Go 语言本身来重写 Go 的运行时,而之前是采用 C 语言开发。这也是为什么 Go 的发行版中包含一个 C 编译器的原因。 使用 Go 重写的好处是: 当前如果在 Goroutine 的调用堆栈中...

  • 为什么越来越多的公司使用Go代替Java作为后端主要开发语言

    作为api开发来说,go优势非常明显。...同样的模块,springboot打包70多的模块用go重写后只有20+,部署到k8s上,java版多核占用率147,go版占用率49。单实例双副本可轻松支撑日5000万次以上接口调用。

  • 为什么 Go 语言没有泛型

    Go 是一门语法元素少、设计简单的编程语言,简单的设计往往意味着较弱的表达能力,工程师也需要使用更多时间编写重复的逻辑。Go 语言从发布到今天已经过去了 10 多年,向 Go 语言添加泛型的讨论也从 2010 年一直持续...

  • Go语言自学系列 | 高效golang开发

    视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:Go语言自学系列 | ...

  • 【golang/go语言】Go语言中的面向对象OOP

    【代码】【golang/go语言】Go语言中的面向对象OOP。

  • Go语言自学系列 | golang标准库bufio

    视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:Go语言自学系列 | ...

  • go语言打印日期_在Go语言项目中使用Zap日志库

    介绍在许多Go语言项目中,我们需要一个好的日志记录器能够提供下面这些功能:能够将事件记录到文件中,而不是应用程序控制台。日志切割-能够根据文件大小、时间或间隔等来切割日志文件。支持不同的日志级别。例如...

  • Go语言环境安装和程序结构

    Go语言环境安装和程序结构

  • Go语言学习笔记—golang标准库bufio包

    Go语言中,为了方便开发者使用,将IO操作封装在了如下几个包中: io为IO原语(I/O primitives)提供基本的接口 io/ioutil封装一些实用的I/O函数 fmt实现格式化I/O bufio实现带缓冲I/O bufio包实现了有缓冲的I/O。...

  • 在Go语言项目中使用Zap日志库

    在Go语言项目中使用Zap日志库 Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档。 一、在Go语言项目中使用Zap日志库 介绍 在许多Go...

  • 在GO语言中项目中使用zap日志库

    在GO语言中项目中使用zap日志库 本文先介绍了GO语言中原生的日志库中使用,然后想继续介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档。 在GO语言项目中使用zap日志库 介绍...

  • Go语言实用用法大全

    go语言用法大全

  • Go channel及其使用实例 【Go语言圣经笔记】

    如果说goroutine是Go语言程序的并发体的话,那么channels则是它们之间的通信机制。一个channel是一个通信系统,它可以让一个goroutine通过它给另一个goroutine发送值信息。每个channel都有一个特定的类型,也就是...

  • 100天精通Golang(基础入门篇)——第21天:Go语言面向对象(OOP)核心概念解析

    Go 面向对象编程 Go 结构体与类 Go 构造函数 New() Go 组合与继承 Go 接口实现多态 ...Go 方法重写与接口 Go 语言 OOP 实践 Go 组合模式实现 Go 接口与多态性 Go 封装实现方法 Go OOP 最佳实践

  • 【Go语言 · 学习笔记】

    文章目录Go语言 · 学习笔记一、Go包管理1. 什么是Go语言中的包2. 包的命名3. main包4. 导入包5. 远程包导入6. 命名导入7. 包的init函数二、Go开发工具1. Go 开发工具概览2. go build3. go clean4. go run5. go env6...

  • go语言学习

    go语言学习 一、变量 1.1、变量声明 Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。 我们从计算机系统的角度来讲,变量就是一段或者多段内存,用于存储数据 1.1.1 ...

Global site tag (gtag.js) - Google Analytics