Python项目性能测试

概述

压测过程当中看的应用程序性能指标主要有tps和响应时间。Python2.5之后自带cProfile代码时间监控性能指标php

详解

jvm不只可以运行java程序还能以字节码形式运行php、Python、ruby程序。jvm中的解释器会把源语言的字节码翻译成另外一种解释型的中间语言 如Grovey、Jython,因此中间语言的速度快慢是性能是否优良的关键。html

名词解释

JVM:一种可以运行Java字节码(Java bytecode)的虚拟机。如今JVM并不仅仅只能运行Java程序,在JVM上出现了若干使用Java虚拟机运行的脚本程序,好比什么PHP, Python, Ruby等等(图5)java

字节码:字节码是已经通过编译,但与特定机器码无关,须要解释器转译后才能成为机器码的中间代码。python

Java字节码:是Java虚拟机执行的一种指令格式。ruby

解释器:是一种电脑程序、是一门独立的语言,能够把高级语言一行一行转义运行。它会先将源码翻译成另外一种语言(Grovey、Jython),以供屡次运行而无需再经编译。其制成品无需依赖编译器而运行,程序运行速度比较快。参考看图三jvm

grovey:无缝集成 全部已经存在的 Java对象和类库。直接编译成Java字节码函数

Jython:Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的彻底实现。Jython也有不少从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其余任何高级语言,它提供了对其实现语言的一切存取。因此Jython不只给你提供了Python的库,同时也提供了全部的Java类。这使其有一个巨大的资源库。工具

监控

cProfile:python -m cProfile -s tottime your_program.py  对应用程序的一个时间监控工具:监控程序的每一行代码性能

  图(一).net

ncalls:函数总共调用次数

tottime:这个函数总共调用花费时间

percall:每一个调用平均花费时间

cumtime:总共累计花费时间

percall:每一个调用的平均累积时间

filename:文件名

 

图解

Python有没有虚拟机?Python代码运行在哪里的?

图2

 图3

 

 图4

 

 图5

 

参考连接:

https://blog.csdn.net/weixin_40304570/article/details/79459811

https://blog.csdn.net/weixin_34144848/article/details/90557228

https://baike.baidu.com/item/%E8%A7%A3%E9%87%8A%E5%99%A8/10418965?fr=aladdin

http://www.javashuo.com/article/p-puzhoveu-cm.html

https://www.php.cn/python-tutorials-423340.html

相关文章
相关标签/搜索