python:memory_profiler会影响运行时吗?

时间:2015-11-03 01:19:39

标签: python-3.x memory-profiling

我正在评估配置我的python程序的工具。这里有一个有趣的工具是memory_profiler。在继续之前,只想知道memory_profiler是否会影响运行时。我问这个问题的原因是memory_profiler会输出很多内存用法。所以我怀疑它可能会影响运行时。

由于

德里克

1 个答案:

答案 0 :(得分:0)

这取决于你如何使用memory_profiler。这可以通过两种不同的方式使用:

  • 逐行获取内存使用量(使用python -m memory_profiler my_script.py运行)。这需要从配置文件功能中执行的每一行获取(来自OS)的内存信息。这对运行时的影响取决于函数中的行数:如果它有很多具有快速执行时间的行,则可能会产生很大的开销。另一方面,如果要分析的函数具有很少的行,并且每行具有显着的计算时间,则开销可以忽略不计。

  • 将记忆作为时间的函数(使用mprof run my_script.py运行并使用mprof plot绘图)。在这种情况下,收集内存使用情况的函数与运行脚本的函数位于不同的进程中,因此开销很小(除非您使用所有CPU)。