如何确定函数的CPU和内存成本?

时间:2012-01-21 19:59:23

标签: python memory-management cpu-usage

有人可以建议最佳做法或合适的图书馆来确定:

  1. 执行Python函数时使用的 CPU周期数
  2. 同一个Python函数使用的内存的数量?
  3. 我曾看过 guppy meliae ,但仍无法细化到功能级别?我错过了什么吗?

    更新 提出这个问题的需要是解决一个特定的情况,即情景是我们在云实例上运行了一组分布式任务,现在我们需要重新组织正确实例类型的任务在集群中的位置,例如,高内存消耗功能任务将被放置在更大的内存实例上,依此类推。当我指的是任务(celery-tasks)时,这些只是简单的函数,我们现在需要对它们的执行用法进行分析。

    感谢。

1 个答案:

答案 0 :(得分:8)

您可能希望查看Python的CPU profiler
http://docs.python.org/library/profile.html
cProfile.run(command[, filename])

的输出示例
  2706 function calls (2004 primitive calls) in 4.504 CPU seconds

Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     2    0.006    0.003    0.953    0.477 pobject.py:75(save_objects)
  43/3    0.533    0.012    0.749    0.250 pobject.py:99(evaluate)
...

另外,memory也需要一个分析器:
开源分析器:PySizerHeapy