python代码运行时间信息记录

最近训练模型经常要记录运行时间相关的信息。这里简单记录一下,方便之后直接使用。

  1. time模块

    使用 time 模块来记录代码的运行时间,参考代码如下:

    python 复制代码
    import time
    
    # 记录开始时间
    start_time = time.time()
    
    # --------------------------
    # 这里放你要测试运行时间的代码
    # 示例:模拟一段耗时操作
    total = 0
    for i in range(1000000):
        total += i
    # --------------------------
    
    # 记录结束时间
    end_time = time.time()
    
    # 计算并打印运行时间
    run_time = end_time - start_time
    print(f"代码运行时间: {run_time:.6f} 秒")
    # 也可以按毫秒显示,更直观
    # print(f"代码运行时间: {run_time * 1000:.2f} 毫秒")

    输出结果:

  2. timeit模块

    如果想得到更精确的运行时间测试,可以使用timeit模块,参考代码如下:

    python 复制代码
    import timeit
    
    # 定义要测试的代码(可以是字符串或函数)
    def test_code():
        total = 0
        for i in range(1000000):
            total += i
    
    # 执行测试:number表示运行次数,默认会自动选择合适的次数
    # stmt:要执行的代码/函数,setup:执行前的初始化代码
    run_time = timeit.timeit(stmt=test_code, setup="pass", number=100)
    # 计算单次运行时间
    avg_time = run_time / 100
    print(f"代码运行100次总时间: {run_time:.6f} 秒")
    print(f"代码单次平均运行时间: {avg_time:.6f} 秒")

    输出结果:

  3. datetime模块

    获取格式化的当前时间,可以使用datetime模块实现,以便保存训练模型的时间点。

    python 复制代码
    import datetime
    
    # 获取当前本地时间,并格式化为 年-月-日 时:分:秒
    current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print(f"代码当前运行时间: {current_time}")
    
    # 更详细的格式(包含毫秒)
    current_time_ms = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3]  # 保留3位毫秒
    print(f"代码当前运行时间(含毫秒): {current_time_ms}")

    运行结果:

相关推荐
装不满的克莱因瓶1 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz1 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
biter down7 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
肖永威8 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks8 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
不知名的老吴8 小时前
线程的生命周期之线程“插队“
java·开发语言·python
xsc6996759 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
无风听海11 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者11 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
马士兵教育11 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习