在不增加任何额外开销的情况下,查找 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
命令,因为它提供了更多有关该过程的信息。然后,您可以 运行 它在不同负载下进行比较。
我想 运行 通宵进行一些实验,并在明天早上查明实验完成执行需要多长时间。但是,我想增加尽可能少的开销,这样实验的结果就不会受到这个额外时间的太大影响。
我从各种资源中了解到,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
命令,因为它提供了更多有关该过程的信息。然后,您可以 运行 它在不同负载下进行比较。