CODE/2022-09-20

Python 执行时间的计算方法

首先说一下我遇到的坑,生产上遇到的问题,我调度 Python 脚本执行并监控这个进程,python 脚本运行时间远远大于 python 脚本中自己统计的程序执行时间。 监控 python 脚本执行的时间是36 个小时,而 python 脚本中统计自己执行的时间是 4 个小时左右。 问题暴漏之后首先想到的是 linux 出了问题,查找各种日志未发现有何异常。 然后是想到 python 中用到的 py2neo 的写数据异步,阻塞进程执行。 最后,终于找到问题的所在:python 脚本使用统计时间的方式是 time.clock(),而这种方式统计的是 CPU 的执行时间,不是程序的执行时间。 接下来,就几种 python 的统计时间方式对比一下:

方法 1:

plain text_snippet
Plain Text · 6 lines|
import datetime
starttime = datetime.datetime.now()
#long running
#do something other
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
datetime.datetime.now()获取的是当前日期,在程序执行结束之后,这个方式获得的时间值为程序执行的时间。

方法 2:

plain text_snippet
Plain Text · 5 lines|
start = time.time()
#long running
#do something other
end = time.time()
print end-start
time.time()获取自纪元以来的当前时间(以秒为单位)。如果系统时钟提供它们,则可能存在秒的分数。所以这个地方返回的是一个浮点型类型。这里获取的也是程序的执行时间。

方法 3:

plain text_snippet
Plain Text · 5 lines|
start = time.clock()
#long running
#do something other
end = time.clock()
print end-start
time.clock()返回程序开始或第一次被调用 clock()以来的 CPU 时间。 这具有与系统记录一样多的精度。返回的也是一个浮点类型。这里获得的是CPU 的执行时间。 注:程序执行时间 =cpu 时间 + io 时间 + 休眠或者等待时间
COMPANION ESSAYS / 思想脉络与互照篇目
同卷深读2026-05-22 ·

python3安装在centos详细教程

同属「系统工程卷」脉络衍生思考与工程推演推演阅读 →
跨界互照2026-08-22 ·

我的书架:03|金融经管:经济运行、金融体系与企业治理

我的书架:03|金融经管:经济运行、金融体系与企业治理

跨领域对照思辨 · 从「思想随笔」视界互为印证推演阅读 →
RELATED INDEX / 相关阅读索引
柯航hang.ke·© 2014—2026
CC BY-NC 4.0·