【发布时间】:2019-11-22 13:07:36
【问题描述】:
我编写了一个统计/机器学习程序,对时间序列数据执行一些数据分析。令人惊讶的是,当我使用 fromtimestamp() 方法获取时间戳时,我的程序大约在 15 秒内执行,而使用 utcfromtimestamp() 时,它在一秒或更短的时间内执行。
为了测试和比较它们的运行时,我运行了一个 python 程序:
timestamp = datetime.now().timestamp()
start = datetime.now()
date1 = datetime.fromtimestamp(timestamp)
print(datetime.now() - start)
start = datetime.now()
date2 = datetime.utcfromtimestamp(timestamp)
print(datetime.now() - start)
但我发现fromtimestamp() 在这种情况下始终更快。
Runtime of fromtimestamp - 00.000004
Approx Runtime of utcfromtimestamp - 0.000267
但在我的程序中,fromtimestamp() 大约需要 0.4 秒。
这里有一些隐藏的因素吗?请注意,在我的 ML 程序中,我执行线程和多处理。我不确定这是否是这里起作用的因素。
【问题讨论】:
标签: python python-3.x performance datetime timestamp