3

我熟悉%prunIPython 中使用 Pythonprofile模块的魔法命令。但是,我只想简要介绍我的代码。也就是说,我想看看我的 Python 代码中哪些是最慢的行,而不是深埋在我正在使用的某个外部包中的那些行,这些行经常被调用,因此似乎花费的时间最多。我怎样才能做到这一点?

4

2 回答 2

1

基于更多的谷歌搜索,这似乎line_profiler是答案:https ://github.com/rkern/line_profiler

import line_profiler
%load_ext line_profiler

然后就

%lprun -f function_i_want_to_profile function_i_want_to_run()
于 2015-12-20T08:26:31.820 回答
1

虽然line_profiler有效,但它增加了很多开销,你需要把它放在@profile所有地方。

%prun您可以以各种方式对输出进行排序。其中之一是按模块名称:

%prun -s module my_func()

因此,相应地选择您的文件名,例如以下划线开头,会将您的文件放在列表%prun显示的开头。

于 2015-12-20T08:31:18.223 回答