1.timeit模块
timeit模块可以用来测试一小段python代码的执行速度
class timeit.Timer(stmt = 'pass',setup = 'pass',timer=<timer function>)
timeit.timer(number = 10000)
Timer类中测试语句执行速度的对象方法。number参数是测试代码时的测试次数,默认为1000000(一百万)次。
该方法返回执行代码的平均耗时,是一个float类型的seconds。
2.使用timeit模块对python中list内置操作的时间复杂度测算
3.测算代码块:
#下面列出list的几种常用内置方法以及list的几种构建方法 #coding:utf-8 #导入timeit模块 import timeit #t1,以+的方式构建列表 ''' li1 = [1,2] li2 = [23,24] li = li1 + li2 #t2,列表生成器 li = [i for i in range(10000)] #t3,将可迭代对象(range)直接转换成列表 li = list(range(10000)) #t4,先创建一个空列表,然后用.append方法添加元素 li = [] for i in range(10000): li.append(i) ''' #下面开始测算 #append方法对空列表添加元素构造列表 def t1(): li = [] for i in range(10000): li.append(i) #+的方法构造列表 def t2(): li = [] for i in range(10000): li += [i] #列表生成器 def t3(): li = [i for i in range(10000)] #转换可迭代对象为列表 def t4(): li = list(range(10000)) timer1 = timeit.Timer('t1()','from __main__ import t1') print('+:',timer1.timeit(1000)) timer2 = timeit.Timer('t2()','from __main__ import t2') print('append:',timer2.timeit(1000)) timer3 = timeit.Timer('t3()','from __main__ import t3') print('列表生成器:',timer3.timeit(1000)) timer4 = timeit.Timer('t4','from __main__ import t4') print('直接转换可迭代对象:',timer4.timeit(1000))
4.运行结果
+: 0.7415732243125414
append: 0.7872105163322995
列表生成器: 0.3843147415048551
直接转换可迭代对象: 1.3879485965428984e-05
[Finished in 2.0s]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
问题内容: 我了解做什么的概念,但是不确定如何在代码中实现。 我怎样才能比较两个功能,比方说和,用? 问题答案: timeit的工作方式是运行一次安装代码,然后重复调用一系列语句。因此,如果要测试排序,则需要格外小心,以免就地进行一次排序不会影响已排序数据的下一遍(当然,这会使Timsort真正发光,因为它执行效果最佳当数据已经部分排序时)。 这是有关如何设置排序测试的示例: 请注意,这一系列语句
问题内容: 因此,在Java中,我们可以执行如何测量函数执行所需的时间 但是如何在python中完成呢?要测量代码行之间的时间开始和结束时间?这样做的事情: 问题答案: 如果要测量CPU时间,可以用于Python 3.3及更高版本: 第一个电话打开计时器,第二个电话告诉您已经过去了几秒钟。 还有一个功能,但是自Python 3.3起不推荐使用 ,并将在Python 3.8中删除。 有更好的性能分析
问题内容: 我想测量在Python程序中评估一块代码所花费的时间,可能在用户cpu时间,系统cpu时间和经过时间之间进行区分。 我知道该模块,但是我有许多自写函数,在设置过程中传递它们并不是很容易。 我宁愿有一些可以使用的东西: 用户和系统的CPU时间不是必需的(尽管我想测量它们),但是对于过去的时间,我希望能够执行类似的操作,而不是使用复杂的命令或模块。 问题答案: 要获取以秒为单位的经过时间,
本文向大家介绍Python timeit模块原理及使用方法,包括了Python timeit模块原理及使用方法的使用技巧和注意事项,需要的朋友参考一下 Python 中的 timeit 模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。 timeit 模块是 Python 标准库中的模块,无需安装,直接导入就可以使用。导入时直接 import timeit ,
问题内容: 我有一段使用解释器执行的JavaScript代码。 如何测量这些数据库插入操作所花费的时间?我可以计算这段代码前后的日期值之差,但是由于代码的异步特性,这将是不正确的。 问题答案: 使用Node.js 和:
问题内容: 使用python中的Time模块,可以测量经过的时间吗?如果是这样,我该怎么做? 我需要这样做,以便如果光标在小部件中已存在一定时间,则会发生事件。 问题答案: 您还可以编写简单的装饰器来简化各种功能的执行时间的度量: 用法: 您可以同时分析多个功能。然后要打印测量值,只需调用print_prof_data():