【问题标题】:Python performance time in minusPython 性能时间减去
【发布时间】:2018-07-12 10:19:01
【问题描述】:

我曾经使用相同的方法,但我得到了以秒为单位的性能时间(例如,0.0003)。这次我不知道为什么我的时间是减号。我曾经使用相同的设备。我使用的是 Linux Ubuntu 18。这是一个例子:

import time 
import datetime

start = time.perf_counter() 
print("something")
duration = time.process_time() - start
print("performance time: ", duration, "sec.")

输出:

performance time:  -30559.147778458 sec.

有什么问题吗?如何获得性能。正值的时间?

【问题讨论】:

  • 你正在从一个苹果中减去一个橘子。

标签: python performance datetime time performance-testing


【解决方案1】:

time.perf_counter()time.process_time() 不会返回相同的数据...您不能从另一个中减去一个,并且期望除了垃圾之外的任何东西。

time.perf_counter()

返回性能计数器的值(以秒为单位),即具有最高可用分辨率的时钟以测量短持续时间。它确实包括睡眠期间经过的时间,并且是系统范围的。 返回值的参考点未定义,因此只有连续调用结果的差异才有效。

time.process_time()

返回当前进程的系统和用户CPU时间之和的值(以秒为单位)。它不包括睡眠期间经过的时间。根据定义,它是进程范围的。 返回值的参考点未定义,因此只有连续调用结果的差异才有效。


选择time.perf_counter()time.process_time() - 但不要混淆返回的值。

我怀疑你会想使用time.process_time()

【讨论】:

  • 谢谢。那是一个错字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-06
  • 1970-01-01
  • 1970-01-01
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多