以下是在ipython中使用%time进行性能分析后的结果 -
单线程: CPU时间:用户6m44s sys 1.78s总计6m46s 壁挂时间:5分19秒
4线程: CPU时间:用户10m12s sys 2.83s总计10m15s 壁挂时间:4分14秒
对于多线程代码,CPU时间是否应该更少? 另外,如果壁时间是总耗用时间,那么CPU时间如何可以超过壁时间。你能否澄清这些术语。
答案 0 :(得分:1)
没有CPU时间是所有cpu对任务花费的时间。因此,如果cpu1在一个任务上花费了2分钟而cpu2在同一个任务上花费了3分钟,则cpu时间将为1 + 3 = 4。
因此,在多线程程序中,我们预计cpu时间通常会超过挂起时间。
现在您可能会问为什么同样适用于您的单线程程序。答案可能是即使你的代码没有明确地使用并行性,你可能会使用一个库。