蓝盟弱电工程,使用C,Java,Nodejs,Golang进行Python性能测试

发布者:上海IT外包 发布时间:2019/7/29 14:41:25来源:www.linemore.com

      在最近的项目开发中,我遇到了Python处理性能问题:
  由于大量的实时数据(每秒2,100条记录,每条记录的平均大小约为1kB),并且受硬件资源限制,使用Python的实时数据处理无法完成当前数据集处理能力的大小,数据越累积,数据存储的延迟就越大。
  Python实现的第一个版本,其处理性能:840/s
  优化的Python实现,处理性能:1100/s
  截至2100/s,它只能实现其性能的一半,这是不可接受的。
  结论:如果不使用多个同时进行的Python处理或添加硬件资源,Python无法完成当前的系统性能要求。
  附加说明:
  3~4个Python开放数据处理过程只能满足系统性能要求,但数据处理只有一个系统模块,系统有其他功能模块,处理硬件资源要求对于数据,CPU不超过2个逻辑核心,最大内存不超过4GB;
  在硬件资源方面,由于项目规模,设备资源有限。
  Solucion
  我知道Python运行速度不快,与其他编程语言(Java,Golang,C ++等)有很大的性能差距。通常,项目开发,Python没有问题。确实没有关注Python性能问题。
  为解决数据处理性能问题,Golang的解决方案用于重写Go语言中数据处理模块代码的逻辑,最终解决数据处理性能问题。
  最后,我们来谈谈Go版本的数据处理性能:Go版本的数据处理性能是Python版本的4到5倍,2100记录处理仅使用0.3 s,仅使用单核CPU,只使用单核CPU 60%吞吐量!
  Python性能测试
  接下来,在主题中,Python运行速度比其他编程语言慢。它有多慢?然后我们将进行Python性能测试。
  1.测试内容:
  找到0到N之间的素数个数,具体找到以下整数中的素数个数:
  0~1w
  0~4w
  0~10w
  0~20w
  0~50w
  0~100w
  重点:此测试仅用于说明Python操作的效率。语言其他方面的比较不属于此测试类别。
  2.测试编程语言包括:
  测试编程语言有:C语言,Java,node.js,Golang,Python等,通过不同的语言测试结果,对Python的运行效率结论进行了比较。语言版本说明:
  语言C:gcc版本8.1.0
  Java:1.8.0_121
  Nodejs:v10.15.3
  Golang:v1.12.7
  Python:v3.7.3
  除了Python之外,还选择了C,Java,Nodejs和Golang语言作为性能比较测试语言,它们代表了当前和通用编程语言。
  3.测试环境描述:
  windows10中的最新版本;
  java代码打包在一个可执行的jar包中,python代码生成pyc文件,C代码和Go代码生成相应的可执行代码;
  素数过程使用相同的方法(for循环的两层)
  4.测试结果:
  5.结论测试:
  在五种编程语言中,C是最有效的,而Python是最少的。
  C,Java,Node.js和Golang比Python更有效。
  给出一个更明显的测试结果,找到0~20w整数范围内的素数个数,这个过程:
  C语言6s时间
  Java 7s的时间
  Nodejs需要8秒
  Golang需要17秒
  Python使用121,比C多20倍,比Java多17倍,比Nodej多15倍,比Go高7倍。
  开发效率和运营效率。
  通过编程,开发效率和运营效率总是相反的:
  寻求高开发效率,其运行效率不高;
  寻求高运营效率,其开发效率不高;
  我们不仅可以保证开发的效率,还可以保证操作的效率,但它只能等到量子计算机的普及并拖累它们.
  Python开发的效率。
  Python效率不高,但其开发效率非常高。这是Python的优势,易于学习,快速启动,迭代短周期开发以及丰富而强大的第三方库。一旦你使用Python一段时间,你会沉迷于它,你将创建依赖,你将无法生存,然后你将使用其他编程语言,各种不兼容,因为Python给我们很多的舒适,这是开发效率蟒蛇!

 

上海IT外包服务网 链接:http://www.linemore.com

>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部