Jupyter Notebook中%time和%timeit的使用详解

yizhihongxing

讲解“Jupyter Notebook中%time和%timeit的使用详解”的完整攻略:

概述

在Jupyter Notebook中,%time%timeit是两个十分有用的命令,它们可以用来测试代码的执行时间,其中:

  • %time用于测试单次代码块的执行时间;
  • %timeit用于重复测试代码块的执行时间,以此来计算平均每个操作所需的时间。

本文将详细讲解%time%timeit的使用方法。

%time

基本使用

%time命令后面跟随的一般是一条Python语句,它会返回这条语句执行的时间。

示例代码:

%time list(range(1000000))

示例输出:

CPU times: user 13.5 ms, sys: 3.68 ms, total: 17.2 ms
Wall time: 16.7 ms

其中,输出值CPU timesusersystotal表示程序在CPU上执行的时间,即程序运行时间,而Wall time则是程序在墙上时钟上运行的实际时间。

多语句计时

在计时时,你可以使用花括号将多条语句组成一组。

示例代码:

%%time
x = 2
y = x * 2

示例输出:

CPU times: user 5 µs, sys: 2 µs, total: 7 µs
Wall time: 10 µs

输出时间到变量中

你可以将"%time"命令的输出值赋值给一个变量,以便稍后引用。

示例代码:

t = %timeit -o list(range(1000000))
print(t)

%timeit

%timeit命令用于测试Python语句的执行时间,并可以多次调用语句以得到更加准确的平均时间。默认情况下,%timeit命令将语句运行10000次。

示例代码:

%timeit list(range(1000000))

示例输出:

97.1 ms ± 3.82 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

这个例子中,%timeit命令运行了10000次list(range(1000000)),并且它通常需要97ms左右才能运行。输出值显示了所有执行时间的平均值、标准偏差和每个循环的时间。

你可以通过-n标志指定调用语句的次数,通过-r标志指定执行循环的数量。

示例代码:

%timeit -n 5 -r 3 list(range(1000000))

示例输出:

93.7 ms ± 1.04 ms per loop (mean ± std. dev. of 3 runs, 5 loops each)

在这个例子中,%timeit命令运行了5次list(range(1000000)),每次都重复进行3次循环,总共进行了15次循环。输出值显示了平均每个循环的时间。

最后,你可以将%timeit命令输出的结果保存到一个变量中。

示例代码:

t = %timeit -o list(range(1000000))
print(t)

示例输出:

87.7 ms ± 928 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
<TimeitResult : 87.7 ms ± 928 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)>

结果存储在一个TimeitResult对象中,该对象包含经过多次重复的测试的平均时间、标准偏差等信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jupyter Notebook中%time和%timeit的使用详解 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • python SQLAlchemy的Mapping与Declarative详解

    接下来我将详细讲解Python SQLAlchemy的Mapping与Declarative。 什么是SQLAlchemy SQLAlchemy是一个Python编程语言下的ORM库和SQL工具包。 ORM(Object Relational Mapping)是一种编程技术,用于将数据库和面向对象编程语言之间的数据映射,实现面向对象的编程。SQLAlchem…

    python 2023年6月5日
    00
  • python随机生成大小写字母数字混合密码(仅20行代码)

    下面我就详细讲解一下“Python随机生成大小写字母数字混合密码(仅20行代码)”的完整攻略。 介绍 该Python程序可以随机生成由大小写字母和数字组成的密码。该程序只需20行代码,简单易懂,适用于初学者学习和使用。程序共分为3个部分,分别为导入Python内置模块,定义函数,生成密码。 步骤 导入Python内置模块 我们可以通过Python中内置模块r…

    python 2023年6月3日
    00
  • python实现根据图标提取分类应用程序实例

    为了实现“python实现根据图标提取分类应用程序实例”的完整攻略,我们需要分为以下几步: 1. 收集图标 首先,我们需要找到要处理的应用程序的图标。我们可以在各个应用商店寻找应用程序的图标,或者直接在应用程序文件夹中找到图标文件。 2. 将图标转换为灰度图像 将图标转换为灰度图像有利于后续的图像处理。我们可以使用Python中的OpenCV库来实现图像转灰…

    python 2023年6月3日
    00
  • Python自动化办公之Word文档的创建与生成

    Python自动化办公之Word文档的创建与生成 Python是一款非常强大的编程语言,能够自动化地完成各种办公任务,Word文档的创建与生成是其中之一。在本篇文章中,我们将会讲解如何使用Python来自动生成Word文档。 安装Python-docx模块 要使用Python来操作Word文档,我们需要安装Python-docx模块。通过以下命令来安装: p…

    python 2023年5月19日
    00
  • 布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)

    布同 Python中文问题解决方法——总结了多位前人经验,初学者必看 为什么会存在中文问题 Python 是一门严谨的语言,它默认使用的是 ASCII 码,而不是像某些语言一样直接支持中文。所以,在 Python 中使用中文会出现各种问题,例如编码错误、输出乱码等。 如何解决中文问题 1. 设置文件编码 多数情况下,出现中文问题与文件的编码有关。如果文件编码…

    python 2023年5月20日
    00
  • Python字典及字典基本操作方法详解

    Python字典及字典基本操作方法详解 Python中的字典是一种无序的集合,它由键值对(key-value)组成,可以通过键来进行快速的查找、修改等操作。本篇文章将详细介绍Python字典的基本特性、创建方法、访问方法以及常用的操作方法等。 1. Python字典的基本特性 字典是一种无序集合,通过键(key)来进行快速的元素查找; 字典中的键必须是唯一的…

    python 2023年5月13日
    00
  • Python入门篇之函数

    在Python中,函数是一种非常重要的编程概念,它可以将一段代码封装成一个可重用的模块,使得代码更加简洁、易于维护和复用。本文将详细讲解Python函数的定义、调用、参数传递、返回值等相关知识点。 函数的定义 在Python中,函数的定义使用关键字 def,语法格式如下: def function_name(parameters): ""…

    python 2023年5月13日
    00
  • python 实现存储数据到txt和pdf文档及乱码问题的解决

    对于“python 实现存储数据到txt和pdf文档及乱码问题的解决”的攻略,我们可以从以下几个方面进行讲解: 存储数据到txt文档 存储数据到pdf文档 乱码问题及解决方案 1. 存储数据到txt文档 在Python中,我们可以使用open()函数打开和操作文件。为了将数据存储到txt文档中,我们需要使用文件的写入模式(”w”),并向文件中写入我们需要的数…

    python 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部