极客视点
极客时间编辑部
极客时间编辑部
113231 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/01:49
登录|注册

Go 1.10改进了工具链和性能

讲述:杜力大小:854.98K时长:01:49
近日,Go 最新的 1.10 版发布,这个版本并未在语言层面做出任何重大变更,而是在工具链、Go 运行时和标准库上做了一系列的改进。
Go 1.10 中的一个重大改进是缓存了构建结果,同时可以更好地检测过期软件包。具体而言,Go 不再依赖于文件的修改时间去判断该文件是否需要做重编译,而是根据文件的内容、构建标志以及存储在编译后软件包中的元数据做出重编译的决策。
这样,就没有必要再指定原先用于强制重构建的“-a”标识。缓存构建包意在进一步优化构建时间,特别是当开发人员在一组构建标识或源代码版本和分支之间来回切换时。
与缓存构建类似,现在 go test 命令也对成功测试的结果做缓存。一旦 go test 检测到当前测试的可执行文件和命令行参数与上一次运行测试中所使用的匹配,那么命令将只输出缓存的测试结果。
通过允许嵌套调用 LockOSThread 和 UnlockOSThread,Go 1.10 运行时已经可以安全操作 Linux 命名空间。这意味着 Goroutines 现在可用于容器,排除了一些影响先前 Go 版本的障碍。
此外,通过在更长时间跨度上使用更小部分的 CPU,Go 运行时改进了垃圾回收的分配延迟,同时不会对整体 CPU 消耗产生影响。
还应指出的是,Go 的性能受益于垃圾回收的改进、标准库的优化,以及更好的代码生成。
根据 Go 团队的说法,主版本号如预期一样并没有发生变化,Go 1.10 可与大部分使用先前 1.x 版本编译的程序保持兼容。
Go 1.10 中还引入了大量的改进,完整细节可查看官方的发行说明
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
3
沉浸
阅读
分享
手机端
快捷键
回顶部