如何正确测量Jupyter中单元格的执行时间?

4

我有一段代码长这样:

%%time
import time
time.sleep(3)

当我在jupyter中执行这个单元格时,我得到了以下输出:
CPU times: user 791 µs, sys: 1.47 ms, total: 2.27 ms
Wall time: 3 s

我的问题是在使用 sleep(3) 时,总时间不应该是3秒而不是2.27毫秒。


3个回答

8
CPU times: user 791 µs, sys: 1.47 ms, total: 2.27 ms
Wall time: 3 s

CPU 时间显示您使用 CPU 的时间。
挂钟时间显示自单元格开始以来经过的实际时间。这是您感兴趣的时间。

尝试以下操作以查看差异:

%%time
time.sleep(3) #Assuming the time module was already imported

您从未使用过CPU,因此CPU时间为0秒


3

另一种计算执行时间的方法

你可以使用以下代码来计算多个单元格或整个代码的总执行时间:

from datetime import datetime 

start_time = datetime.now() 

import time
time.sleep(3) 

print('Time elapsed (hh:mm:ss.ms) {}'.format(datetime.now() - start_time))

输出:

Time elapsed (hh:mm:ss.ms) 0:00:03.008139

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接