我很好奇目前在 Python3 中测量 CPU 时间的最佳方法是什么。需要明确的是,我想要的结果是程序运行的总 CPU 时钟时间(即不是挂钟时间)。
我time
过去曾为此使用过该模块,但我不清楚这是否仍然是推荐的方法。
如果time
模块是最好的选择,我想知道是否time.process_time()
更好time.clock()
。
我很好奇目前在 Python3 中测量 CPU 时间的最佳方法是什么。需要明确的是,我想要的结果是程序运行的总 CPU 时钟时间(即不是挂钟时间)。
我time
过去曾为此使用过该模块,但我不清楚这是否仍然是推荐的方法。
如果time
模块是最好的选择,我想知道是否time.process_time()
更好time.clock()
。
对于 cpu 时间time.process_time()
或time.thread_time()
是否合适 - 取决于您正在测量的内容以及您是否使用多线程。
time.clock()
已弃用
注意 I/O。如果您正在执行阻塞 I/O,它将计入 CPU 时间。非阻塞 I/O(如 asyncio)会使线程进入睡眠状态,因此不会计入 CPU 时间。
这方面的文档非常好,我建议您详细阅读 https://docs.python.org/3/library/time.html#time.time