gpt4 book ai didi

python - 相对于它所在的语句的执行,time() 测量哪个时间点?

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:52 24 4
gpt4 key购买 nike

问题不在于算法或修复代码中的错误。我只是想弄清楚跟踪时间是如何工作的。例如,有一行:

x = my_func(4, 2) * time()

该行在 3.0 秒时运行,my_func(4, 2) 需要 0.5 秒才能返回结果。

问题是 time() 什么时候开始跟踪时间?在 3.0 秒,线路何时运行?还是在 3.5 时,在计算 my_func(4, 2) 之后?

最佳答案

与大多数运算符一样,“*”运算符的操作数按从左到右的顺序求值。 my_func 将在 time 开始执行之前完成执行。您可以通过使用打印到 stdout 作为副作用的函数来凭经验对此进行测试,例如:

>>> def f(x):
... print(x)
... return 0
...
>>> x = f("1st") * f("2nd")
1st
2nd

顺便说一句,如果你想跟踪 my_func 的运行时间,那么 my_func(4, 2) * time() 并不是一个非常实用的方法那。 time.time() 返回自 Unix 纪元以来的秒数,因此调用它一次不会告诉您有关程序长度的任何信息,除非您在 1970 年 1 月 1 日开始运行它。常规方法是在程序开始时执行 start_time = time.time(),然后在结束时执行 end_time = time.time(),然后减去二。

或者您可以使用专为此类基准测试设计的 timeit 模块。

关于python - 相对于它所在的语句的执行,time() 测量哪个时间点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52593482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com