欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

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

时间:2022-10-09 17:56:49 | 浏览:3313

作者 | Pawel Dziubałka, Sebastian Karasiewicz译者 | 泓技责编 | 夕颜出品 | AI科技大本营(ID:rgznai100)互联网上有非常多的精彩代码,它们成了构建各种基础设施的基础。你正在阅读的这

作者 | Pawel Dziubałka, Sebastian Karasiewicz

译者 | 泓技

责编 | 夕颜

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

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

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

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

Python的故事

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

就编程年限而言,Python算是元老。它于1991年首次被概念化。随着年龄的增长,逐渐具备了一定的优势。它拥有广泛的支持者,这意味着它是稳定的,并且文档丰富。在大多数情况下,你会找到几乎所有内容的库以及几乎所有可以想到的任何代码示例。对于开发人员和企业而言,这意味着使用Python的选择会带来丰富的经验和编码。

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

说到Golang(Go)

Google于2009年开发了Go语言。Go的初衷是解决实际问题。它的目标是创建一种语言,以消除C++等语言中发现的所有负担和多余的东西,这给它带来了性能和速度上的提升。另外,大多数第一次接触Go的开发人员不会体会到语法的高门槛,因为Go里面熟悉的元素和易用性会令人惊喜。

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

性能测试

我们可以无休止地谈论Golang或Python的优缺点,但是当我们考虑部署使用时,我们都期待它们能有卓越性能。因此,我们在Intel®Core™i7–9700KCPU @ 3.60GHz × 8核的测试设备上进行了一些测试。测试代码可以从这里获得
https://github.com/sekarasiewicz/go-python-benchmark。

1.二分搜索

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

2.冒泡排序

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

3.文件读取

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

4. HTTP请求处理

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

选Golang还是Python?

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

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

2. 性能:众所周知,Python不是内存或CPU友好型的编程语言,但由于它拥有大量的库,Python可以有效执行基本的开发任务。Golang具有内置功能,它更适合于微服务软件体系结构。

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

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

5. 执行性能:如果只关注速度,那么Golang肯定会赢。

考虑所有这些因素后,你的用例将成为采用哪种语言的决定因素。在你要建立开发团队来创建微服务的情况下,Golang将是更合理的选择,因为它既快速,易于编码,又可以很好地扩展。另一方面,Python更适合于AI、ML和数据分析。

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

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

原文链接:

https://www.softkraft.co/golang-vs-python/

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

相关资讯

零基础学Python:Python五种Python解释器分享给你

不论你是Python新手零基础入门Python还是对于Python有了一定的经验积累,这里跟大家分享5个Python计时器,希望伙伴们有能用得上的!Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分

Python之父:Python4.0可能不会来了

机器之心报道编辑:力元、蛋酱2020 年 1 月 1 日,Python 官方结束了对 Python 2 的维护,意味着 Python 2 完全退休,进入 Python 3 时代。之后,关于 Python 4 的发布排期也成为了社区的热门议题

python入门之python简介

一、python了解python 是脚本语言。python 是一种面向对象的解释型计算机程序设计语言。语法简洁清晰,特色之一是强制用空白符作为语句缩进。优点:跨平台、胶水语言、开源免费、丰富的库 。缺点:运行速度慢、代码不能加密、场景、数据

最新的python,整整16个G,附零基础入门Python思维导图

思维导图是整理知识的一种非常有效的手段,这里分享几张 Python 基础学习的思维导图,可以帮助自己巩固下基础,有需要的小伙伴可以加紧时间收藏哦!获取方式:

什么是Python?为什么要学习Python?

第一期计算机等考二级程序设计科目的学习,我们从简单易学的Python开始,今天,就让我们揭开它神秘的面纱!我们先看三组数据:第一组呢是TIOBE指数排行,可以看到我们的Python在今年三月份排在了榜首的位置,相比去年的三月份,Python

Python:是!“用Python的,全是假程序员”!HR:太真实……

都说Python什么都能做,本来我是不信的!直到我在CSDN站内看到了一件真事儿:一位博主贴出了自己10分钟用Python搭建小说网站的全过程!全程只用了2步操作,简直太秀了!!……第一步:爬取小说数据库第二步:用Python的热门框架Dj

封神级Python开发核心知识点笔记!一篇带你学透Python

之前老看Java岗的一个朋友炫耀他的一份Java核心知识点笔记,当时,我内心毫无波澜,只有一点点酸……其实Python开发也有很多知识点,我一直一来就想要一份Python核心知识点笔记来帮助自己查漏补缺,后来想想,既然一直没有找到让我满意的

明年至少令Python提速2倍?Python之父给出爆料

去年 11 月,退休失败的 Python 之父 Guido van Rossum 在推特上宣布,退休生活太无聊,从而加入了微软开发者部门。微软自然支持优秀人才的发展,所以赋予了 Guido van Rossum “自由选择项目”的权利,Gu

Python入门教程:超详细1小时学会Python

小编贴心提醒,本文阅读时间9分钟1.Hello world安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。我们写下一句著名的程序语句:并按回车,你就能看到这句被K&R引

想学习Python不知从何学起?一份超详细Python入门资料,干货满满

Python是近年来非常火热的一门编程语言,Python 语言最大的特点就是简单,该特点主要体现在以下 2 个方面:1. Python 语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手。2. 和其它编程语言相比,实现同一个功能

python入门基础教学,再不学python就晚了

经过了前一段时间的python学习,那么今天我们来学习一下字典,首先来看一个简单的字典:在python中,字典是一系列键-值对,每个键都与一个值相关联,例如前面的color和age就是键,yelllow和23就是他们分别对应的值对1.访问字

学习Python你一定要知道的知识Python解释器的作用和分类有哪些

之前已经讲解了Python解释器的下载和安装,现在就讲下解释器的作用和分类,在讲解任何Python代码之前我们得先知道解释器概念和作用,因为解释器扮演的角色是非常重要的。一、解释器的作用****作用:运行文件(运行代码)****Python

如何在PythonIDLE中查看Python中turtle库中所有方法及用法

在IDLE中点击help中的Python Docs找到“Python Docs”然后就进入Python文档的界面,在左边找到“搜索”按钮,并点击。找到“搜索”按钮在搜索框中搜索所需要的库名称或者函数名称,就能含有该关键词对应的文件。你会在这

7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。但你看这些图表呢?结合真实地理数据,展现美国每个县的失业率。全球自然灾害统计,类型、规模、时间,一目了然。甚至还有可爱

分析Python3中的bytes和str类型

从例子可以看出,s是个字符串类型。Python有个内置函数bytes()可以将字符串str类型转换成bytes类型,b实际上是一串01的组合,但为了在ide环境中让我们相对直观的观察,它被表现成了b’xe4xb8xadxe6x96

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈浪琴二手表网大明湖畔旅游网香蕉品种网餐饮点餐系统网佛山照明灯饰网微商货源批发官网TCL科技A股面膜资讯网古力娜扎影迷网湄洲岛旅游网丰胸食谱大全观赏鱼论坛网广西旅游网煤炭期货网超能一家人电影网
scratch少儿编程官方网站-scratch编程官方网站入口、少儿编程scratch教程、scratch跑酷游戏完整代码、scratch编程创意小游戏下载、scratch优秀游戏作品、scratch3.0少儿编程、scratch编程软件下载3.0、scratch少儿编程手机版、scratch官方在线版、scratch编程小游戏制作教程、scratch编程官网。
scratch少儿编程 luanlin.cn ©2022-2028版权所有