在不增加任何额外开销的情况下,查找 python 脚本完成执行所需时间的最佳方法是什么?

What is the best way to find how long it took for a python script to finish executing without adding any extra over head?

我想 运行 通宵进行一些实验,并在明天早上查明实验完成执行需要多长时间。但是,我想增加尽可能少的开销,这样实验的结果就不会受到这个额外时间的太大影响。

我从各种资源中了解到,time script.py 是衡量这一点的好方法。但是我不确定 time 是如何工作的以及它对我的实验有多大影响。

这应该是非常小的开销,并且易于实现

import time

t1 = time.time()

# code goes here

print('Took {} seconds'.format(time.time() - t1))

据我所知,time Linux 命令只是要求内核提供有关 运行 使用它的进程的信息。由于内核无论如何都会为所有进程收集 CPU 和其他信息,因此使用脚本 运行ning time 不会影响脚本本身的性能(或其可忽略不计的)

上面的回答是正确的,但不一定是幂等的。脚本时间可能会受到当前负载、正在处理的数据大小、网络等因素的影响。

我建议使用 Linux time 命令,因为它提供了更多有关该过程的信息。然后,您可以 运行 它在不同负载下进行比较。