前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用timeit测试python语句执行

使用timeit测试python语句执行

作者头像
py3study
发布2020-01-10 15:52:03
6210
发布2020-01-10 15:52:03
举报
文章被收录于专栏:python3python3

使用timeit库可以测试小段代码片段的执行时间,简单示例如下:


代码:

代码语言:javascript
复制
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import random
import timeit
from time import clock


def get_random_number(num):
    '''get random number, no repeated element; use random.sample() method'''
    return random.sample(range(num), num)


if __name__ == "__main__":
    #use clock() method to calculate time
    start = clock()
    list_a = get_random_number(200)
    finish = clock()
    print(finish - start)
    #check the length of list generated by function
    print(len(list_a))
    print(len(set(list_a))) 

    #use timeit.Timer() method
    t1 = timeit.Timer('get_random_number(200)',
                      setup="from __main__ import get_random_number")
    #only excute once
    print(t1.timeit(1))
    #only repeat once, and only excute once
    print(t1.repeat(1, 1))

    #use timeit.Timer() and lambda to invoke function
    print(timeit.Timer(lambda: get_random_number(200)).timeit(1))

运行结果:

这里写图片描述
这里写图片描述

关键方法:

timeit(number=1000000) 计时主要语句执行number次的时间。它将执行一次setup语句,返回执行主要语句执行多次所需的时间,以浮点数秒数表示。参数为循环的次数,默认是100万。要用的主语句、setup语句和计时器函数将传递给构造函数。

repeat(repeat=3, number=1000000) 调用timeit()多次。

这是一个方便的函数重复调用timeit(),并返回结果的列表。第一个参数指定调用timeit()多少次。第二个参数指定timeit()的number参数。


参考: https://docs.python.org/3.5/library/timeit.html?

http://python.usyiyi.cn/python_278/library/timeit.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码:
  • 运行结果:
  • 关键方法:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档