Python 配置文件结果 - 子函数的累积时间不等于函数时间

Posted

技术标签:

【中文标题】Python 配置文件结果 - 子函数的累积时间不等于函数时间【英文标题】:Python profile results - Cumulative time of subfunctions doesn't add up to time of function 【发布时间】:2019-08-09 18:48:20 【问题描述】:

我正在为我的项目使用 python 分析器。以下是带有 print_callees stat 输出的报告的 sn-p。

从附图中可以看出,ProcessCmd 函数所花费的总累积时间为 12.893 秒,但如果我尝试将 ProcessCmd 的所有子函数所花费的时间相加,它会增加到 6.927 秒。

我很难弄清楚剩下的 6 秒在哪里花费 (12.893-6.837 = 6.056)。

我错过了什么吗?

【问题讨论】:

【参考方案1】:

它很可能用在函数本身内部。另请注意,运算符(例如 a+b)在 Python 中可能具有复杂的行为,即使它可能在底层对象上调用 __add__ 函数,它也不会显示为函数调用。

【讨论】:

以上是关于Python 配置文件结果 - 子函数的累积时间不等于函数时间的主要内容,如果未能解决你的问题,请参考以下文章

Python函数式编程学习笔记

特定范围值的累积函数

如何在python中计算正态累积分布函数的倒数?

如何在一天内的特定时间段内应用累积python函数,然后从第二天开始重置

在 Python 中计算累积分布函数 (CDF)

Python中累积数字的元素除法?