从Python迁移到Go的原因和好处
极客时间编辑部
讲述:杜力大小:1.12M时长:02:28
近期,Stream 将其后端核心服务从 Python 改成了 Go。虽然他们的某些模块仍然在使用 Python,但是公司已经决定,使用 Go 来编写对性能要求较高的代码。
Stream 是一套用于构建、伸缩、定制化新闻源和活动流的 API,每个月为 3 亿多用户提供约 10 亿次 API 请求。
Stream 的 CEO 兼创始人蒂埃里·肖伦巴赫(Thierry Schellenbach)解释了他们决定转向 Go 的原因。他介绍,相对于 Python 而言,Go 的好处包括以下内容:
1. 性能更优
Go 最大的卖点在于它的性能,无论在运行还是编译时,它都有突出的性能优势。它与 Java 或者 C++ 的运算速度几乎相当。在实际使用中,它比 Python 大约快 30 倍。
选择快速工具对提升系统性能非常重要,然而,很多时候系统仍然存在瓶颈,而瓶颈正好在于 Python。从 Python 切换到 Go 就可以缩短时间,这样一来,应用程序代码就更像是服务之间的粘合剂,而不再是优化中的主要瓶颈。
2. 名副其实的简单
阅读 Go 语言的代码明显感觉更加简单,他们已经从多个 Python 代码库中迁移出来,这些 Python 代码的风格和框架会因为作者的不同而风格各异,往往带有很多作者个性化的东西。
而 Go 恰恰相反,它推崇干净的代码风格,同时要求作者编写代码时严格遵守规范,禁止作者“自作聪明”,让代码更容易阅读和理解了。这样一来,Go 才得以加快开发人员阅读他人代码的速度,同时,阅读自己曾经编写的代码也更容易。
3. 原生并发性
Go 在语言层面通过 goroutine 和 channel 支持了并发。goroutine 类似于操作系统的线程,但是它运行消耗的系统资源更小,每个 goroutine 仅需几 KB 的堆栈空间。Go 运行的时候,可以在操作系统线程上处理多路 goroutine。
在 Go 中启动 goroutine 非常简单,只需通过 go 关键字添加一个函数调用,就可以启动一个 goroutine,并让该函数运行在自己的 goroutine 中。
4. 语言生态
由于 Go 上手非常容易,因此组建 Go 开发团队相比其他语言来说更容易。Go 初学者可以很快入门并精通该语言。这使得雇主甚至可以招聘其他背景的开发人员,然后加以短期培训,就可以使其成为合格的 Go 工程师。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- mick在已成型平台中推行新的编程技术需要勇气,加油!!!3
- bignaturestream是干嘛的1
收起评论