Python 开发者在迁移到 Go(lang) 时需要知道哪些事?

  • 时间:
  • 浏览:0

【编者按】本文最早由 Repustate 发布,主要介绍将代码迁移至 Go(lang) 时的注意事项。文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文。

原文地址: https://blog.repustate.com/migrating-code-from-python-to-golang-what-you-need-to-know/

所以人在 Repustate 最大的技术成果也不我实现了阿拉伯语爱情分析。阿拉伯语是个难啃的硬骨头,机会阿拉伯语词汇的形式非常复杂。阿拉伯语的标记化(把搞笑的话拆分成单个单词)也比英语要难得多,机会阿拉伯单词组织组织结构机会会蕴藏空格(累似 单词组织组织结构“aleph”的位置)。在不泄露机密的请况下,Repustate 利用支持向量机(SVM)来获取有一个搞笑的话最机会的意思,因此以此来推断搞笑的话的爱情。所以人一共采用了22种模型(2有一个支持向量机),文档中的每个词回会 被分析。也也不我说,机会有一个文档蕴藏30个词,就会与支持向量机进行300多次对比。

值,一百万个值,超值。速率单位的提升不容忽视。因此笔者认为这也是有益于 Go 成为流行语言的重要是因为分析。因此在招聘时,笔者认为把 Go 当成 Python 开发者的必备技能也很糙要。

实在 Go 代码还没实现大规模产出,得到的结果机会非常振奋人心。所以人现在一秒钟能出理 30个文档,使用的内存大大减少,因此也不我用再去调试和出理 使用 Python 回会 遇到的多多多tcp连接 /协程(gevent)/“为有哪些 Control-C 杀死了我的多多tcp连接 ”等有哪些的间题。

本文转自 OneAPM 官方博客

这是一篇讲述将大块 Python/Cython 代码迁移到 Go 的长文章。机会你想了解整个事情的经过、背景等所有信息,请读下去。机会你只对 Python 开发者没办法解的事感兴趣,请下拉到早该知道的事板块。

在 Mozilla 的所以人告诉笔者,Mozilla 服务的日志架构大帕累托图代码都已迁移到 Go,帕累托图是因为分析是 goroutines 超级便利。Go 是由谷歌员工开发的,设计之初就将并发需求列为一级理念,而回会 像 Python 的众多出理 方案一样在做事后出理 。因此所以人现在开始着手实现从 Python 到 Go 的迁移。

除去溢美之词,跟 Go 打交道都上能与 Python 完整性不同的一套思维模式。以下列出的是笔者在迁移时做的所以笔记——回会 在从 Python 迁移到 Go 时随机想到的所以东西:

任何略懂编程语言的人(明白解释与编译、动态与静态区别)回会 说:“哈,显然 Go 要快多了。”没错,所以人是都上能用 Java 重写所有内容,因此取得累似 的效果,因此这并回会 Go 胜出的是因为分析。你用 Go 写的代码似乎一出来是正确的。笔者也说不清楚,因此不知为啥的,一旦代码被编译(编译过程非常很快),你就会感觉它能工作了(不也不我运行没有错,因此还逻辑正确)。这听起来很含糊,因此它是真的。在冗余或无冗余方面,它跟 Python 累似 ,它把函数当做一级对象,因此函数编程很方便。因此毋庸置疑,goroutines 和 channels 会你都上能更加省心省力。静态类型回会 带来极大的性能提升,以及更精确的内存分配控制,因此又不必损失越来越来越多表达性。

Repustate 几乎完回会 用 Python 搭建的,所以人使用 Django 来搭建 API 接口和网站架构。因此,为了保持代码一致性,使用 Python 来实现所有阿拉伯语爱情引擎才说得通。就原型设计和实现流程而言,Python 依然是有一个很好的选着 :表现能力优秀,又有强大的第三方库资源,等等。机会是服务于网页,它也不我最佳选着 。机会是稍低级别的运算,都上能与哈希表(Python 中的字典)进行少量对比时,运行速率单位就会慢下来。所以人一秒钟没办法出理 2到一个阿拉伯语单词,这种速率单位太慢了。相比之下,所以人的英语爱情引擎每秒能出理 30个单词。

因此,所以人启动了 Python 分析器,现在开始调查速率单位慢的是因为分析。还记得上文提到所以人有2有一个支持向量机,每个单词回会 通过它们出理 吗?刚刚这种过程是按顺序进行,而回会 并行的。好了,第有一个想法是换成累似 分布式计算系统(map/reduce)的出理 器。长话短说:Python 不适合用 map/reduce。当你都上能并发性的刚刚,Python 之所以能帮上忙。在 Pycon 2013大会中,Guido 谈到了 Tulip,他希望用来出理 这种有哪些的间题的有一个新项目,因此都上能过一段时间都上能发布。刚刚,机会机会有了更好的选着 ,为有哪些都上能苦等下去呢?