Eda*_*aor 8 python profiling cprofile docker
我正在尝试分析一些非常简单的代码(同时使用 cProfile 和 pyinstrument)。代码是:
sum(1 for e in range(1533939))
Run Code Online (Sandbox Code Playgroud)
在没有激活分析器的情况下运行代码时,速度非常快(~85 毫秒)。然而,当试图在分析器中运行相同的代码时,突然需要将近 13 秒。
我正在这样做(在 Jupyter 笔记本中):
%%prun
sum(1 for e in range(1533939))
Run Code Online (Sandbox Code Playgroud)
我认为问题在于生成器表达式中对“next”的大量调用导致的开销,但是,在我的主机(不在容器内)上运行相同的实验在分析时没有显示速度变慢。
知道为什么分析器可能会减慢这段代码的速度吗?
作为记录,我使用 Jupyter 的容器“jupyter/scipy-notebook”作为基本容器。
谢谢!