如何在python(多处理)基准测试时分析cpu时间?

时间:2017-03-18 23:24:41

标签: python multithreading performance time benchmarking

以下是在ipython中使用%time进行性能分析后的结果 -

单线程:   CPU时间:用户6m44s sys 1.78s总计6m46s   壁挂时间:5分19秒

4线程:   CPU时间:用户10m12s sys 2.83s总计10m15s   壁挂时间:4分14秒

对于多线程代码,CPU时间是否应该更少? 另外,如果壁时间是总耗用时间,那么CPU时间如何可以超过壁时间。你能否澄清这些术语。

1 个答案:

答案 0 :(得分:1)

没有CPU时间是所有cpu对任务花费的时间。因此,如果cpu1在一个任务上花费了2分钟而cpu2在同一个任务上花费了3分钟,则cpu时间将为1 + 3 = 4。

因此,在多线程程序中,我们预计cpu时间通常会超过挂起时间。

现在您可能会问为什么同样适用于您的单线程程序。答案可能是即使你的代码没有明确地使用并行性,你可能会使用一个库。