【问题标题】:python debugging- get execution time for each line within a looppython调试-获取循环中每一行的执行时间
【发布时间】:2017-11-19 03:41:01
【问题描述】:

在我的代码中,我的 for 循环的执行时间在大约 1000 次迭代后增加了大约 1 秒。所以,我怀疑我的 for 循环中有问题。 1000 次迭代后我有断点,但我需要知道哪条线需要更多时间。在逐行调试时使用time.time() 肯定不是一个好主意。我本可以使用timeit 来获取代码块的确切执行时间,但这对我的情况也不是一个好主意,因为我需要获取 for 循环中每一行的执行时间,而不是整个循环.在这种情况下我该怎么办?我正在使用 pycharm 进行调试。这个编辑器有什么选项吗?

【问题讨论】:

标签: python performance debugging pycharm


【解决方案1】:

如果你使用的是专业版的 PyCharm,你可以使用内置的profiler

否则,请参阅this answer。 或者,您可以查看line_profiler

【讨论】:

  • 只需使用pycharm的默认cProfiler运行程序,但我看不到任何说明一行执行时间的内容。
  • 在统计页面上,您可以看到造成最大负载的原因:调用了多少时间以及调用了多长时间。否则,请查看line_profilermemory_profiler
猜你喜欢
  • 2011-03-13
  • 2019-12-11
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
相关资源
最近更新 更多