用python+编写一个程序,打印出执行1+1运行100次的时间?

用python+编写一个程序,打印出执行1+1运行100次的时间?,第1张

import time

获取开始时间

start = time.time()

执行1+1运算100次

for i in range(100): a = 1 + 1

获取结束时间

end = time.time()

计算两个时间差

print("1+1运算100次程序的运行时间为:", end - start)

通过代码实现。

具体代码。start=time。clock()run_fun()end=time。clock()printend-start这种算法只计算了程序运行的CPU时间。

我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。

使用timeit模块,先介绍下:

timeit 模块

timeit 模块定义了接受两个参数的 Timer 类。两个参数都是字符串。 第一个参数是你要计时的语句或者函数。 传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句。 从内部讲, timeit 构建起一个独立的虚拟环境, 手工地执行建立语句,然后手工地编译和执行被计时语句。

一旦有了 Timer 对象,最简单的事就是调用 timeit(),它接受一个参数为每个测试中调用被计时语句的次数,默认为一百万次;返回所耗费的秒数。

Timer 对象的另一个主要方法是 repeat(), 它接受两个可选参数。 第一个参数是重复整个测试的次数,第二个参数是每个测试中调用被计时语句的次数。 两个参数都是可选的,它们的默认值分别是 3 和 1000000。 repeat() 方法返回以秒记录的每个测试循环的耗时列表。Python 有一个方便的 min 函数可以把输入的列表返回成最小值,如: min(t.repeat(3, 1000000))

你可以在命令行使用 timeit 模块来测试一个已存在的 Python 程序,而不需要修改代码。

再给你个例子,你就知道怎么做了。

# -*- coding: utf-8 -*-

#!/bin/env python

def test1():

    n=0

    for i in range(101):

        n+=i

    return n

def test2():

    return sum(range(101))

def test3():

    return sum(x for x in range(101))

if __name__=='__main__':

    from timeit import Timer

    t1=Timer("test1()","from __main__ import test1")

    t2=Timer("test2()","from __main__ import test2")

    t3=Timer("test3()","from __main__ import test3")

    print t1.timeit(1000000)

    print t2.timeit(1000000)

    print t3.timeit(1000000)

    print t1.repeat(3,1000000)

    print t2.repeat(3,1000000)

    print t3.repeat(3,1000000)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11324188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存