如何了解我的代码的哪一部分花费的时间最多?
How to understand which part of my code is taking the most time?
我在 Python 中实现了一个使用 Monte Carlo 模拟的代码,但即使在 N=1000 时也需要太多时间。我有两个问题:
现在我运行它在笔记本电脑上,运行它在我电脑上Pycharm会提高性能吗?
如何了解我的代码的哪一部分花费的时间最多?例如,我想知道:您的代码在这个 for 循环上花费了 x% 的时间,在另一个 for 循环上花费了 y% 的时间。
编辑:
该代码专门用于评估扑克手牌的赔率,因此我模拟了很多牌局,每次都评估哪一手牌更好。
Python 的标准库中有一对用于分析代码的模块 — 请参阅 How can you profile a Python script?
还有许多可用的第三方模块可以让您更精细地查看代码的执行情况 — 请参阅 How do I use line_profiler (from Robert Kern)?
我自己还没有尝试过,但 profilehooks 看起来也很有前途且易于使用。
我在 Python 中实现了一个使用 Monte Carlo 模拟的代码,但即使在 N=1000 时也需要太多时间。我有两个问题:
现在我运行它在笔记本电脑上,运行它在我电脑上Pycharm会提高性能吗?
如何了解我的代码的哪一部分花费的时间最多?例如,我想知道:您的代码在这个 for 循环上花费了 x% 的时间,在另一个 for 循环上花费了 y% 的时间。
编辑:
该代码专门用于评估扑克手牌的赔率,因此我模拟了很多牌局,每次都评估哪一手牌更好。
Python 的标准库中有一对用于分析代码的模块 — 请参阅 How can you profile a Python script?
还有许多可用的第三方模块可以让您更精细地查看代码的执行情况 — 请参阅 How do I use line_profiler (from Robert Kern)?
我自己还没有尝试过,但 profilehooks 看起来也很有前途且易于使用。