python__标准库 : 测试代码运行时间(timeit)

用 timeit.Timer.timeit() 方法来测试代码的运行时间:

from timeit import Timer

def t1():
    li = []
    for i in range(10000):
        li.append(i)

def t2():
    li = []
    for i in range(10000):
        li.insert(0, i)

T1 = Timer("t1()", "from __main__ import t1")
print("append:", T1.timeit(1000))

T2 = Timer("t2()", "from __main__ import t2")
print("insert(0):", T2.timeit(1000))

测试一下append 和 insert 哪一个效率更高, 实例化Timer类时,第一个参数 是字符串类型,表示的是执行函数的语句.

第二个参数是设置,需要 从当前模块导入一个测试函数. 因为并不是在这个文件中执行的.

调用 timeit() 方法时传入的参数 1000 指的是测试次数, 即测试函数1000次.

结果:

>>>append: 1.1107756999126404
   insert(0): 20.437914913455618

append 比 insert 高出许多,因为insert(0, i) 表示从列表开始插入.

原文地址:https://www.cnblogs.com/cccy0/p/9111600.html

时间: 2024-07-31 08:52:32

python__标准库 : 测试代码运行时间(timeit)的相关文章

高效编程——C++测试代码运行时间方法

C++测试代码运行时间方法 方法一 最常用的执行时间测试方法,利用clock函数,精确度能达到ms级. 直接看代码吧,这样最直观: #include "stdafx.h" #include <ctime> #include <vector> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]){ clock_t start,finish; long

C++算法库 测试代码

// STL算法.cpp : 定义控制台应用程序的入口点. //最后修改时间:2018/02/13,测试平台 vs2017 /* STL六个部分 容器:见相关工程,学习上有两个难点:双端队列的实现细节,RBtree实现细节 分配器:allocator,学习版本是侯捷的书,sgi新版本增了继承层次.内存学习的高级主题 算法:本工程,容器无关的算法 适配器:容器/仿函数.基于容器实现的栈,单链表等 迭代器:最好是参考网站内容http://zh.cppreference.com/w/cpp/itera

C#如何测试代码运行时间

第一种方式: System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 开始监视代码运行时间 // 需要测试的代码 .... stopwatch.Stop(); // 停止监视 TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间 double hours = timespan.TotalHours; // 总小时 double min

测试代码运行时间

在C#中有一个秒表类:Stopwatch,用这个类可以方便的测试一下代码运行时间.要使用stopwatch要先加一个命名空间,System.Diagnostics. 具体用法如下: Stopwatch timer = new Stopwatch(); long total = 0; timer.Start();//开始计算时间 for (long i = 1; i <= 1000; i++) { total += i; } timer.Stop(); Console.WriteLine(time

C_测试代码运行时间

#include<stdio.h> #include<stdlib.h> #include<time.h> //测试for循环时间 void delay(unsigned int t) { unsigned int i,j; for(i=0;i<t;i++) for(j=0;j<t;j++) ; } int main( ) { clock_t start, finish; double Text_time; start = clock(); delay(10

JS性能分析(测试代码运行时间)

//性能优化 console.time("timer"); for(var i=0;i<10000;i++){} console.timeEnd("timer");

python__标准库 : 正则表达式(re)

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. re.search 扫描整个字符串并返回第一个成功的匹配. 替换: re.sub(pattern, repl, string, count=0, flags=0) 参数: pattern : 正则中的模式字符串. repl : 替换的字符串,也可为一个函数.(可以把每次匹配出来的结果传给函数,这个结果是个对象,有gruop()方法) string : 要被查找替换的原始字符串. c

什么是 C 和 C ++ 标准库?

简要介绍编写C/C ++应用程序的领域,标准库的作用以及它是如何在各种操作系统中实现的. 我已经接触C++一段时间了,一开始就让我感到疑惑的是其内部结构:我所使用的内核函数和类从何而来? 谁发明了它们? 他们是打包在我系统中的某个地方吗? 是否存在一份官方的C ++手册? 在本文中,我将通过从C和C ++语言的本质到实际实现来尝试回答这些问题. C和C++是如何制订的 当我们谈论C和C++时,实际上是指一组定义(程序)语言应该做些什么,如何表现,应该提供哪些功能的规则.C/C++的编译器为了处理

测试代码执行时间的模块-timeit

有时候我们想看看一个函数的执行时间是多久,这时候我们可以使用装饰器,在函数的执行开始前,记录一个时间,在函数的执行结束后记录一个时间,然后求两个数的差,就可以得到这个函数本次的执行时间了.但是这样做的做法,太Low,接下来我们就说说Python 内置的timeit 模块 timeit 模块可以用来测试一小段Python 代码的执行速度timeit 模块里面有一个Timer 类,首先需要实例化这个类,先看一下初始化这个类所可以接收的参数,下面是timeit 模块关于Timer 的源码 1 clas