当前位置: 首页 > 科技观察

Python与C语言、Java、Nodejs、Golang进行性能测试比较

时间:2023-03-14 21:38:28 科技观察

Python与C语言、Java、Nodejs、Golang的性能测试对比(每条日志的平均大小约为1kB),受限于硬件资源,使用Python进行实时数据处理无法完成当前的数据集规模。数据积累的越来越多,数据存储的延迟也越来越长!第一版Python实现,其处理性能:840/s优化版Python实现,其处理性能:从2100/s到1100/s,只有一半的性能,不能接受!结论:不使用Python多并发处理或者增加硬件资源,Python是无法满足当前系统性能需求的!补充说明:开启3~4个Python数据处理进程刚好可以满足系统性能需求,但数据处理只是系统的一个模块,系统还有其他功能模块。对于数据处理的硬件资源要求,CPU不超过2个逻辑核心。最大内存不超过4GB;硬件资源方面,由于项目规模大,设备资源有限。解决方案本身就知道Python运行速度不快,与其他编程语言(Java、Golang、C++等)性能差距较大。在正常的项目开发中,使用Python是没有问题的。它真的没有关注Python的性能方面。综合考虑,结合当前项目的实际情况,为解决数据处理性能问题,采用了Golang方案,使用Go语言重写了数据处理模块的代码逻辑,最终解决了性能问题数据处理问题!最后说说Go版本的数据处理性能:Go版本的数据处理性能是Python版本的4到5倍。处理2100条日志仅需0.3s。没必要只用单核CPU来处理,只用单核CPU。处理性能提高60%!Python性能测试接下来进入正题。Python比其他编程语言运行得慢。有多慢?那我们来做一个Python性能测试吧。1、测试内容:求0~N之间的素数个数,具体求以下整数区间内的素数个数:0~1w0~4w0~10w0~20w0~50w0~100w重点:这个测试仅用于说明Python的运行效率,语言其他方面的对比不属于本次测试范围!2、测试编程语言包括:测试编程语言包括:C语言、Java、node.js、Golang、Python等,通过不同语言的测试结果,对比得出Python的运行效率结论.语言版本说明:C语言:gccversion8.1.0Java:1.8.0_121Nodejs:v10.15.3Golang:v1.12.7Python:v3.7.3除了Python之外,还选择了C语言、Java、Nodejs、Golang作为性能比较测试语言,代表当前主流和广泛使用的编程语言3.测试环境说明:在最新版本的windows10下;java代码打包成可执行的jar包,python代码产生pyc文件,C代码和Go代码产生各自的可执行代码;求素数的过程使用相同的方法(两层for循环)4、测试结果:5、测试结论:在5种编程语言中,C语言运行效率最高,Python运行效率最差。C语言、Java、Node.js、Golang的运行效率比Python高出几何级数。为了给出更明显的测试结果,求出0到20w整数范围内的质数个数。这个过程:C语言用6s,Java用7s,Nodejs用8s,Golang用17s,Python用121s,是C语言的20倍,Java的17s。是Nodejs的15倍,Go的7倍。对于编程来说,开发效率和运行效率永远是对立的:追求高开发效率,其运行效率并不快;追求高运行效率,其开发效率并不快;既能保证开发效率,又能兼顾运行效率。只能等到量子计算机普及了,离...Python的开发效率还很远。这是Python的优势。简单易学,上手快,实现短周期迭代开发。此外,它还拥有丰富而强大的第三方库。一旦你使用Python一段时间,你就会对它上瘾,产生依赖。你离不开它,然后使用其他编程语言,各种不爽,因为Python给我们的开发带来了太多的便利,这就是Python开发的效率!又如:网上有这样一个笑话。同一个功能模块用C语言需要写几百行代码,用Java写100行代码,用Python写十几行代码。这一点都不夸张,确实是这样,虽然Python的运行效率不强,但是Python的开发效率是很快的。总结一下本次考试的目的:对Python这门语言有一个正确的认识,不仅要知道Python功能强大,优点多多,应用广泛,但是性能是Python无法回避的问题。只有了解了这些,才能正确使用Python!