编程语言性能实测,Go 比 Python 更胜一筹?

编程语言性能实测,Go 比 Python 更胜一筹?

作者 | Pawel Dziubaka, Sebastian Karasiewicz

译者 | 泓技

责编 | 夕颜

出品 | AI科技大本营(ID:rgznai100)

互联网上有2 & | u 1 ,非常多的精彩代码,它们成了构建各种基础设施的基础。你正在阅读的这个平台同样也在致力于创建出色的代码X C B l 5 F A D j。尽管普通用户一般不会注意到这一点,但另一方面,优秀的开发人员始终在寻求使他们的应用程序(以及他们的代码)有更好的方法。

编写出色代码的基础取决于开发人员的技能及其选择的语言。这不可避免地导致开发人员之间的冲突,而冲突不仅关乎技能水平1 o E `,而且主要关乎他们偏爱的g k ^ & *语言(甚至有可能发生史诗般冲突)。当你将两种出色的编程语言(例如Golang(Go)和Python)放在一起时,最有可能出现这种情况。

现在让我们退后一步,消除个人偏见和偏好,单纯地从优点和功能的角度评估这两种语j , R B Q ! z言,熟练地平整好比赛场地。现在,7 @ d v q M我们剩下的只有两个不错的选择:Go vs Python。现在的问题变成,哪个编程语言更适合你?

编程语言性能实测,Go 比 Python 更胜一筹?

Python的故事

如果去询问一些开发人员,你会听到Python诞生之前的都不值一提,而Python之后的也都不值一提之类的话。多年来,由于它是一种非常好的编程语言,已成功赢得了庞大关注。互联网上充满了使用Python创建的酷炫应用。

就编程年限而言,PyH - i C tthon算是元老。n h F K l B I y d它于199% s & = % [ & z1年首次被概念化。随着年龄的增长,逐渐具备了一定的优势。它拥有广泛的支持者,这意味着它是稳定的,并且文档丰富。在大多数情况下,你会找到几乎b M J 3所有内容的库以及几乎所有可以想到的任何代码示例。对于开发人员和企业而言,这意味着使用Python的选择会带来丰富的经验和编码。

有很多使用Python作为基础的开源项目,因此在大多数情况下,你不是从头开始的。它很好地集成到企业应用Z Z ; # F m程序中,并且可以在机器语言和AI应用程序中使用。但是它确实有缺点,一方面,它对于内存密集型任务1 G ~ T不是理想的选择,对于执行而言有点慢,另一方面,它不适合移动应用程序开发。

编程语言性能实测,Go 比 Python 更胜一筹?

说到Golang(Go)

Google于2009年开发了Go语言0 g 7 U - O V 3 r。Goe w r ` ; -的初衷是解决实际问题。它的目标是创建一种语言,以消除C++等语言中发现的所有负担和多余的东西,这给它带来了性能和速度上的提升。另外,大多数第一次接触Go的开发人员不会体会到语法的高门槛,因为Go里面熟悉的元r P # R素和C ) 8 } `易用性U 4 H E V n L N会令人惊喜。

这并不是说该语言在所有情况下都是完美w U T } C n的。尽管将速度和优雅提升到了一个新的高度,但它确实留下了一些需要改进的地方。首先,它没有扩展库,也不支持继承。此外,没有GUI库或面向对^ p ) * =象的编程支持。它要做o d [ G 的就是创建一个轻量级线程(Goroutines),智能标准库,强大的内置安全性,并且易于n J r J o T b 5使用最少的语法进行编码。

编程语言性能实测,Go 比 Python 更胜一筹?

性能测试

我们可以无1 D ;休止地谈论Golang或Python的优缺点,但是当我们: E t考虑部署使用时,我们都期待它们能有卓越性能。因此,我们在IntelCore™i7–9700KCPU @R { J 0 : 3.60GHz 8核的测试设备上进行了一些测试。测试代码可以从这里获得https://github.com/sekarasiewicz/go-py8 % . & s ~ M 9thon-benchmark。

1.$ % f二分搜索

我们创建了一个整数列表(从1到100000),然后使用二分搜索查找始终相同的数字729。结果是:

编程语言性能实测,Go 比 Python 更胜一筹?

2.冒泡排序

再次,我们生成了一个整数列表(这次是随机的,共10000个元素),, u v V v并使v - O O ;用冒泡排序算法对其进行了排序。

编程语言性能实测,Go 比 Python 更胜一筹?

3.文件读取

读取“ lorem ipsum”文本文件的简单测试。

编程语言性能实测,Go 比 Python 更胜一筹?

4. HTTP请求处理

编写I ) R S 9HTTP服务器确实很容易,但是我们为在Python中进行有效的模拟付出了很多努力。我们检查了一个简单的“hello world!” 信息需要多长时间响应。

编程语言性能实测,Go 比 Python 更胜一筹?编程语言性能实测,Go 比 Python 更胜一筹?

选Golang还是Python?

尽管Python一直是社区中的最爱,在2019年第一季度就成为GitHub= T $ m y上最快的编程语言排行榜上(按拉取请求数计算+17%)的第二名,但Golang并没有落后很1 . Y X多,位于紧随其后的第四位(+ 8%)。Golang与Python之间的选择变得更加模糊。无论如何,在选择哪一项适合你时都需要考虑一些事项。

1.可扩展性:Golang在创建时就考虑了可扩展性。它具有内置的并发性,可以同时处理多个任务。Python同样可以使用并发,但不是内置的。它通过线程实现并行性。这意味着,如果你要处理大型数据集,那么Golang似乎是一个更合适的选择。

2. 性能:众所周知,Python不是内存或CPU友好型的编程语言,但由于它拥Z _ q : %有大量的库,Python可以有效执行基本的开发任@ z K务。Golan5 2 rg具有内置功能,它更适合于微服务软件体系结] U 0 N ! e 4 ?构。

3. 应用程序:Python非常适合编写用于人工智$ 0 i f能、数据分析、深度学习和Web开发的代码。Golang已普遍用于系统编程,并且受到云w 3 : S [ U计算和集群计算应用程序的开发人员的喜爱。

4. 社区和库:如前所述,Python的时代赋予了它一定的优势; ! E % q。其中! 3 D之一是它拥有的库数量以及支持它的大型社区。另一方面,Golang虽然没有Python提供的大N N @ 9 4量库和社区支持,但仍是一种增长中的语言。我们不应该将Golang踢出局。它的增长和采用率令人难以置信 . ? ^ Y Y,并且每天都在增长。

5. 执行性能:如果只关注速度,那么Goy v [ q D C I Olang肯定会赢。

考虑所有这些因素后,你的用例将成为采用哪种语言的决定因素。在你要建立开发团队来创建微服务的情况下,G{ [ ) Xolang将是更合理的选择,因为它既快速,易于编码,又可以很好地扩展。另一方面,Python更适合于AI、MY e 9 + n pL和数据h O D u D 6 ^ - Y分析。

因此,一对一地比较,在大多数情况下,Go8 ! p # j _ e会脱颖而出,被认为是使用Python的有效替代方案。开发人员需要选择一种编程语言,要考虑其开发项目的性质和规模d l w ) } . ?以及所涉及人员的技能。

好消c 2 ~ M I U q 0息是,无论选择哪种语言,两种语言都在不断发展。尽管在大多数情况下,Golang似乎是一个显而易见的选择,但PM $ I V (ython社区不会闲坐而不采取任何行动。两种语言都在扩展和增长。这意味着将来我们将看到更多的功能和改进。

原文链接:

https://www.softkraft.a { J o |co/golang-vs-python/

本文为 CSDN 翻译,转载请注明来源出处。

上一篇

9种设计模式在Spring中的运用,一定要非常熟练

下一篇

产品体验报告 ︳一淘产品定位及商业模式的竞争力分析(上)

评论已经被关闭。

插入图片
返回顶部