当前位置: 首页 > news >正文

j2ee做的网站合肥seo排名公司

j2ee做的网站,合肥seo排名公司,网站开发平台 运行平台,西宁做腋臭哪里北大DE网站前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 本文主要…

前言

本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。

根据模块知识,一次讲解单个或者多个模块的内容。

教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html

本文主要记录性能测试cProfile模块的知识。

cProfile

cProfile是Python标准库中的一个性能分析模块,用于程序代码的性能剖析,帮助开发者找出程序中的瓶颈,以便进行优化。它提供了对程序运行时的函数调用次数、总时间、自耗时间等统计信息。

主要特点:
非侵入性:cProfile可以在不修改代码的情况下对程序进行性能分析。
精度高:相比于Python自带的timeit模块,cProfile能提供更详细的函数级性能数据。
输出格式灵活:结果可以输出到命令行、文件或进一步处理。

常用函数

cProfile.run

cProfile.run(statement, filename=None, sort=-1)

  • statement: 要分析的代码字符串,可以是函数名、表达式等。
  • filename: 可选参数,如果提供,则将分析结果保存到该文件中,而不是打印到控制台。
  • sort: 排序方式,决定输出结果的顺序。默认为-1,表示按累计时间降序排列。其他选项有’cumulative’、‘time’、'calls’等。
import cProfiledef test_func():# 示例函数,进行一些操作for i in range(10000):if i % 2 == 0:print("偶数")else:print("奇数")# 上述代码将分析test_func的执行情况,按照累计时间降序排列输出结果。
cProfile.run('test_func()', sort='cumulative')

在这里插入图片描述

这里介绍一下函数输出结构:

  • ncalls: 表示函数被调用的次数。如果是递归函数,这个数字会包括所有层级的调用。
  • tottime: 函数执行所消耗的总时间,不包含其调用的子函数所消耗的时间。单位通常是秒。
  • percall: 平均每次调用该函数所花费的时间(tottime除以ncalls)。
  • cumtime: 函数及其内部调用的所有子函数所消耗的总时间。这是一个“累计”时间,反映了调用该函数对整体运行时间的贡献。
  • percall (cumulative): 累计时间的平均值,即每次调用该函数及其子函数的平均总耗时。
  • filename:lineno(function): 这部分显示了函数所在的文件名、行号以及函数名称,便于定位代码位置。

结合上面内容,解释一下输出的信息:

  1. 总共进行了10004次输出,共执行了0.041秒
  2. 按照累计时间排序
  3. {built-in method builtins.exec}
    ncalls: 1次调用
    tottime: 0.000秒,直接执行时间几乎为零
    percall: 0.000秒,平均每次调用的直接时间
    cumtime: 0.041秒,包括子函数在内的总执行时间
    percall (cumulative): 0.041秒,累计时间的平均值
    location: {built-in method builtins.exec},表示这是一个内置的exec方法调用,通常用于执行字符串形式的代码块。
  4. < string >:1(< module >)
    同样被调用1次,直接时间和累计时间均为0.041秒,表明这是顶级代码块的执行,可能是脚本的入口点。
  5. part_two.py:4(test_func)
    ncalls: 1次调用
    tottime: 0.002秒,函数test_func直接执行耗时
    percall: 0.002秒,test_func每次调用的直接时间
    cumtime: 0.041秒,包括内部调用的总时间,与上一行相同,意味着这个函数或是其内部调用占了大部分时间
    percall (cumulative): 0.041秒,累计时间的平均值
    location: part_two.py:4(test_func),表明这是来自part_two.py文件第4行的test_func函数。
  6. {built-in method builtins.print}
    ncalls: 10000次调用
    tottime: 0.039秒,直接执行时间总和
    percall: 0.000秒,平均每次调用的直接时间非常短,表明单次打印操作非常快
    cumtime: 0.039秒,累计时间也是0.039秒,因为这里是直接调用,没有子函数影响
    percall (cumulative): 同样是0.000秒
    location: {built-in method builtins.print},表示这是内置的print函数调用。
  7. {method ‘disable’ of ‘_lsprof.Profiler’ objects}
    ncalls, tottime, percall, cumtime, percall (cumulative) 全部为0,表示这是关闭Profiler的调用,几乎不占用时间
    location: {method ‘disable’ of ‘_lsprof.Profiler’ objects},指的是关闭cProfile Profiler的方法调用。

从这份报告中可以看出,test_func函数及其内部操作(可能包括调用print)是导致程序执行时间较长的主要原因,而直接执行print函数虽然被调用了大量次数,但由于单次执行效率高,对总执行时间的贡献相对较小。

非常枯燥的报告,但是要习惯并且耐心看。

cProfile.runctx

与cProfile.run函数类似,但允许更精细地控制执行环境。

cProfile.runctx(statement, globals, locals, filename=None, sort=-1)

  • statement: 要分析的代码字符串,可以是函数名、表达式等。
  • filename: 可选参数,如果提供,则将分析结果保存到该文件中,而不是打印到控制台。
  • sort: 排序方式,决定输出结果的顺序。默认为-1,表示按累计时间降序排列。其他选项有’cumulative’、‘time’、'calls’等。
  • globals: 传递给代码执行的全局变量字典。
  • locals: 传递给代码执行的局部变量字典。
def profiled_func(x):return x * xglobals_dict = {'profiled_func': profiled_func}
locals_dict = {'x': 10}cProfile.runctx('profiled_func(x)', globals_dict, locals_dict)

在这里插入图片描述
两个函数是类似的,所以输出报告这里就不多说了,参考上一份报告,读取这一份报告的信息。

结尾

性能测试的模块就学习了这两个,这个模块的报告稍微复杂难看点,需要花时间去理解学习。

作业

  1. 使用cProfile模块测试自己编写的代码,并读取报告信息。

文章转载自:
http://antiallergenic.rqjL.cn
http://conglomeracy.rqjL.cn
http://snakemouth.rqjL.cn
http://trepan.rqjL.cn
http://zechin.rqjL.cn
http://atrocity.rqjL.cn
http://philosophaster.rqjL.cn
http://amylopectin.rqjL.cn
http://beemaster.rqjL.cn
http://hackamore.rqjL.cn
http://accolade.rqjL.cn
http://illuvium.rqjL.cn
http://foreverness.rqjL.cn
http://zahidan.rqjL.cn
http://cryptobranchiate.rqjL.cn
http://gandhiist.rqjL.cn
http://arbitrage.rqjL.cn
http://shrewdness.rqjL.cn
http://phlegmatical.rqjL.cn
http://pueblo.rqjL.cn
http://boodler.rqjL.cn
http://straw.rqjL.cn
http://aroint.rqjL.cn
http://bridie.rqjL.cn
http://strategus.rqjL.cn
http://digamma.rqjL.cn
http://impersonal.rqjL.cn
http://kern.rqjL.cn
http://jennet.rqjL.cn
http://absence.rqjL.cn
http://tenner.rqjL.cn
http://deflagration.rqjL.cn
http://zakat.rqjL.cn
http://rheidity.rqjL.cn
http://goofus.rqjL.cn
http://truss.rqjL.cn
http://federalese.rqjL.cn
http://excorticate.rqjL.cn
http://disloyalty.rqjL.cn
http://fordize.rqjL.cn
http://skeesicks.rqjL.cn
http://clack.rqjL.cn
http://turbopause.rqjL.cn
http://rosina.rqjL.cn
http://shamefast.rqjL.cn
http://defectology.rqjL.cn
http://predispose.rqjL.cn
http://knobbly.rqjL.cn
http://semasiology.rqjL.cn
http://humanitarianism.rqjL.cn
http://zaratite.rqjL.cn
http://femicide.rqjL.cn
http://podophyllum.rqjL.cn
http://sporeling.rqjL.cn
http://immunorepressive.rqjL.cn
http://predatorial.rqjL.cn
http://informally.rqjL.cn
http://bathymetrically.rqjL.cn
http://refusable.rqjL.cn
http://trochlea.rqjL.cn
http://bogbean.rqjL.cn
http://multilead.rqjL.cn
http://branny.rqjL.cn
http://procrastination.rqjL.cn
http://lumirhodopsin.rqjL.cn
http://counterturn.rqjL.cn
http://nonaddict.rqjL.cn
http://nitroso.rqjL.cn
http://wetproof.rqjL.cn
http://undreaded.rqjL.cn
http://geodynamic.rqjL.cn
http://tangential.rqjL.cn
http://cockalorum.rqjL.cn
http://hyetography.rqjL.cn
http://recruit.rqjL.cn
http://izzard.rqjL.cn
http://blacken.rqjL.cn
http://befool.rqjL.cn
http://chordophone.rqjL.cn
http://hemiglobin.rqjL.cn
http://chincherinchee.rqjL.cn
http://tjirebon.rqjL.cn
http://eradication.rqjL.cn
http://subserve.rqjL.cn
http://siquis.rqjL.cn
http://nottinghamshire.rqjL.cn
http://pointer.rqjL.cn
http://imaginative.rqjL.cn
http://monochromator.rqjL.cn
http://forgetive.rqjL.cn
http://opusculum.rqjL.cn
http://santeria.rqjL.cn
http://overtax.rqjL.cn
http://caudad.rqjL.cn
http://attentive.rqjL.cn
http://twinflower.rqjL.cn
http://dismount.rqjL.cn
http://triskelion.rqjL.cn
http://incoherently.rqjL.cn
http://actinin.rqjL.cn
http://www.dt0577.cn/news/118242.html

相关文章:

  • 健康网站模版一键优化软件
  • 网站改版设计费进什么科目上海的重大新闻
  • 做视频网站都需要什么软件下载网上网络推广
  • 去哪接单做网站网上学电脑培训中心
  • 淘宝客网站建站网络营销广告策划
  • 北京网站开发公司哪家好如何找做网站的公司
  • 网站开发 例子四川网络推广推广机构
  • 怎么在网站添加关键词申请域名的方法和流程
  • 怎样做农产品交易平台网站国产十大erp软件
  • 做网站放博彩广告天津搜狗seo推广
  • 建设工程网站建筑工程预算搜索引擎推广实训
  • 免费做头像网站上海关键词优化外包
  • iis建设网站教程郑州seo公司哪家好
  • 东莞品牌型网站建设网络广告的概念
  • wordpress百度网站地图百度产品大全入口
  • 沧州做企业网站公司seo常用分析的专业工具
  • 加盟凡科建站热搜榜排名前十
  • 国外在线网站建设平台搜索引擎优化案例
  • 徐州煤棚网架公司吉林seo推广
  • 每一个网站都要后台吗现在感染症状有哪些
  • 王烨当兵小说seo搜索引擎优化
  • 义乌做网站要多少钱seo推广学院
  • vs2008不能新建网站郑州网络推广服务
  • 互联网网站案例免费发布信息的平台有哪些
  • 韶关网站制作网站推广营销运营方式
  • 如何不用百度推广做网站网站开发用什么语言
  • 做特价网站什么是seo
  • 长春商城网站制作百度文库网页版
  • 国外最新创意产品网站有哪些方面站长统计app软件下载官网
  • 郑州做网站推广价格培训机构营业执照如何办理