在我的工作中,我经常编写代码来读取文件中的行,并且一次处理这些行。
有时候行处理比较复杂,文件比较长,比如今天处理200行大概需要一分钟,文件总行数是175k。
我想弄清楚我的代码的哪一部分花费了很长时间,为此我决定在 Python 中使用 cProfiler。
问题是我实际上无法运行整个代码,因为那会花费太长时间,如果我在退出信号中途中断进程,那么我的 cProfiler 也会死掉,而不会生成报告并使用逻辑修改代码以在一定时间后死掉只阅读前 K 行很烦人(因为我在工作中经常针对不同类型的数据做这种事情。)如果可能的话,我想避免仅为了分析而添加选项。
告诉 cProfiler 运行 3 分钟、分析发生的情况、停止然后报告其发现的最干净的方法是什么?