每个函数的python时间测量

标签 python performance python-3.x time

这个问题在这里已经有了答案:





How do I profile a Python script?

(31 个回答)


7年前关闭。




我刚刚用python完成了我的第一个程序,我已经在一个模块中编写了我的所有函数,我只是通过将输入文件作为参数从命令行执行它并且它工作。但是当我给一个大数据集时,我的程序连续运行了一段时间。现在我的下一步是找出在我的模块中哪个函数花费了更多时间。我可以得到整个程序所花费的时间,但我需要分别为每个功能。

我试图理解 python 中的 timeit 和 profile 模块,但根据我的理解,它们给出了特定函数所花费的时间。有没有办法知道我模块中每个函数所花费的时间作为统计数据(一次全部)?

提前致谢。

最佳答案

在终端,运行

python -m profile -s time file.py

或者
python -m cProfile -s time file.py

第二个可以更快,而且永远不会更糟。

这将给出如下内容:
   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
       39    0.132    0.003    0.139    0.004 :0(load_dynamic)
      239    0.097    0.000    0.097    0.000 :0(loads)
    541/1    0.083    0.000    3.556    3.556 :0(exec)
       30    0.082    0.003    0.082    0.003 :0(statusBar)
                        ... etc ...

左侧将包含您的功能。

关于每个函数的python时间测量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25958562/

相关文章:

javascript - 索引 : Select and Insert 的 IndexedDB 性能

python - Python 中的 DataFrame 切片失败

python - 读取 MIDI 文件时十六进制到整数

java - 多线程增加计算时间 - Java

mysql - rails 使查询更好

python - 是否可以将以一种方式堆叠的 Python 数组 reshape 为另一种堆叠类型?

python - 我应该在这个 Python 场景中使用抽象方法吗?

python - 如何使用pipreqs创建requirements.txt文件

python - 改变 pandas 数据框的结构

python - 无法导入 "hashlib"