找出python程序中运行时最耗时间的部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找出python程序中运行时最耗时间的部分相关的知识,希望对你有一定的参考价值。

也就是如何找出一个python程序中运行瓶颈部分。我记得好像有个模块是专门干这个活的,就是检测一个python程序每一行所消耗的运行时间,不过忘了叫什么名了。不知道有谁知道。
谢谢!!

    那就是profile和cProfile模块:

    import cProfile
    cProfile.run('function....')

    另外,time模块,在不同的函数的开头和结尾分别计时,然后将两个时间相减,就可以获得这段函数的运行时间了,然后在看哪段函数占的时间比较大:

    import time
    t1=time.time()
    ##you function segment here
    t2=time.time()
    timediff=t2-t1

参考技术A profile是python的标准库。可以统计程序里每一个函数的运行时间,并且提供了多样化的报表。

参考资料:http://www.360doc.com/content/11/0723/14/2902158_135379678.shtml

参考技术B profile和cProfile模块

import cProfile
cProfile.run('function....')本回答被提问者和网友采纳
参考技术C time模块
在不同的函数的开头和结尾分别计时,然后将两个时间相减,就可以获得这段函数的运行时间了,然后在看哪段函数占的时间比较大。
sample:
import time
t1=time.time()
##you function segment here
t2=time.time()
timediff=t2-t1
参考技术D timeit?

Qt Designer的预览ui在python中运行时不一样

【中文标题】Qt Designer的预览ui在python中运行时不一样【英文标题】:Qt Designer's preview ui is not the same when it running in python 【发布时间】:2020-03-19 06:30:19 【问题描述】:

这是预览

这是在python中运行时的样子

【问题讨论】:

【参考方案1】:

Qt会根据环境变量等各种标志来处理启用的各种样式,而Qt Designer可能会默认使用一些样式,所以预览显示的样式可能与运行时的应用不同。

分析风格在我看来Qt Designer使用的是“融合”风格,所以解决方案是添加:

app.setStyle("fusion")

如果你想用 Qt Designer 中的其他样式来可视化你的设计,你必须执行:Form-> Preview in -> style


如果您想了解安装中可用的所有样式,可以运行以下命令:

from PySide2 import QtWidgets

print(QtWidgets.QStyleFactory.keys())

在我的情况下,我得到以下信息:

['Breeze', 'bb10dark', 'bb10bright', 'cleanlooks', 'gtk2', 'cde', 'motif', 'plastique', 'Oxygen', 'Windows', 'Fusion']

【讨论】:

我的代码是"app = QApplication([])",所以我需要添加一个新行"app.setStyle("fusion")",对吗? 你解决了我的问题,我真的很感激,还有没有更多的样式,因为我在预览选项中只找到了三个样式。 @Aiden 是的,你必须编译每种风格的插件(很多依赖于操作系统,在 Linux 的情况下有很多可用的)但有一个缺点:你必须安装 Qt并手动编译对于初学者来说通常是头疼的插件。 我讨厌编译。如果我想要更多风格,在 linux 上安装 Qt 是个好主意吗? @Aiden 不,我必须编译许多样式。但是你可以创建自己的风格,检查:doc.qt.io/qt-5/qtwidgets-widgets-styles-example.html

以上是关于找出python程序中运行时最耗时间的部分的主要内容,如果未能解决你的问题,请参考以下文章

程序在python中运行时如何防止用户输入控制台? [复制]

如何使用 python 为 Web 元素生成 Xpath(在我的脚本中运行时)?

在 kubernetes 环境中运行时 nodemon 未启动

在调试器中运行时中断下一个输出

Qt Designer的预览ui在python中运行时不一样

eclipse vs tomcat部署-项目在eclipse中运行时导出的战争(部分)失败