首页 > 其他分享 >快速使用 timeit 测试代码运行速度

快速使用 timeit 测试代码运行速度

时间:2024-02-04 18:23:28浏览次数:30  
标签:timeit 10000 number np globals time 测试代码 快速

Python 中要测试代码速度,比起 start_time = time.time() 然后 end_time = time.time(),更便捷的方法是使用 timeit。

以下是测试 lambda 表达式与普通判断语句速度的代码。运行 10000 次,打印各自运行时间。结果是 lambda 虽然优雅但更慢。

import timeit
import numpy as np

ensure_tuple = lambda x: np.tile(x, 2) if np.isscalar(x) else np.array(x)
a_number = np.array(1)
b_number = np.array([1, 2])

code1 = '''
a = ensure_tuple(a_number)
b = ensure_tuple(b_number)
'''

code2 = '''
if np.isscalar(a_number):
    a = np.tile(a_number, 2)
else:
    a = a_number

if np.isscalar(b_number):
    b = np.tile(b_number, 2)
else:
    b = b_number
'''

print("方式1的运行时间:", timeit.timeit(code1, globals=globals(), number=10000))
print("方式2的运行时间:", timeit.timeit(code2, globals=globals(), number=10000))

标签:timeit,10000,number,np,globals,time,测试代码,快速
From: https://www.cnblogs.com/chirp/p/18006751

相关文章

  • UI自动化测试代码不想写脚本不想配?RunnerGo一键录制
    想快速配置可视化UI自动化测试脚本?RunnerGo近期上线脚本录制器,根据你的测试操作直接生成UI自动化测试脚本,下面是使用方法Step1:下载录制器点击RunnerGo上方插件按钮下载录制器 Step2:录制器使用将插件文件拖入浏览器扩展程序 点击打开录制器,在浏览器中进行操作时录制器......
  • MATLAB快速参考
    原文GitHub-MATLAB-cheat-sheet,本文做了翻译和修改MATLAB即MatLABoratory(一做坐一天坐垫实验室)MATrixLABoratory(矩阵实验室)。是一种常用于工程和数学的强大软件,也是一门语言。注意:MATLAB中的函数基本有多种不同参数的重载,本手册只写其中比较常用的方法,实际使用时可以善......
  • Zookeeper快速了解
    初识ZookeeperZookeeper是ApacheHadoop项目下的一个子项目,是一个树形目录服务。Zookeeper翻译过来就是动物园管理员,他是用来管Hadoop(大象)、Hive(蜜蜂)、Pig(小猪)的管理员。简称zkZookeeper是一个分布式的、开源的分布式应用程序的协调服务。Zookeeper提供的......
  • RabbitMQ快速入门
    MQ的基本概念MQ概述MQ全称MessageQueue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。MQ,消息队列,存储消息的中间件分布式系统通信两种方式:直接远程调用和借助第三方完成间接通信发送方称为生产者,接收方称为消费者MQ的优势和劣势优......
  • JAVA Spring Boot快速开始
    实践环境SpringBoot3.2.1Maven3.8.8JDK1.8.0_331创建项目通过http://start.spring.io/网站创建包含SpringBoot的项目,具体如下:点击GENERATE按钮后,会自动生成并下载SpringBootQuickStartDemo.zip导入项目解压述下载的项目压缩包,解压后的项目文件结构如下:E:codeProjects\Sprin......
  • 快速排序算法
    快速排序算法的核心思想是分治法(DivideandConquer)。快速排序算法通过以下步骤实现排序:1.选择基准值 :从数列中选择一个元素作为基准值(pivot),通常选择第一个元素。2.分区操作 :重新排列数列,使得所有小于基准值的元素都移到基准的前面,而所有大于基准值的元素都移到基准的后......
  • 【笔记】快速傅里叶变换
    快速傅里叶变换0记号\(\exp(x)=e^x\)。1复数(Complex)1.1三种形式代数形式:\(z=a+bi\),其中\(a,b\in\mathbbR\)。三角形式:\(z=r(\cos\theta+i\sin\theta)\),其中\(r=\sqrt{a^2+b^2}\)(\(a,b\)是在代数形式中定义的)。指数形式:\(z=r\cdote^{i\theta}\)。根据......
  • 在Unity中快速生成基于模板的Lua脚本
    在学习Xlua时,这个工具提供了一个简单而强大的方式来快速生成基于模板的Lua脚本,有助于提高开发效率和保持代码的一致性。1.xlua框架导入在GitHub上搜索xlua,找到腾讯的xlua项目,下载项目的压缩包。然后将压缩包里的Plugins和XLua这两个文件夹导入Unity的Assets目录下,如下图所示:2.......
  • 新手如何快速学习爬虫逆向?-->>爬虫之js逆向百例
    《个人练习》各位爬虫逆友如有需要请及时留言或者加vx:wzwzwz0613该案例只对学习js逆向的爬虫逆友提供技术交流,请勿进行商业交易,谢谢!技术交流群v+:......
  • 5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
    中台Admin(Admin.Core)中台Admin(Admin.Core)是前后端分离权限管理系统,前端UI基于Vue3开发,后端Api基于.NET8.0开发。支持多租户、接口权限、数据权限、动态Api、任务调度、OSS文件上传、滑块拼图验证、国内外主流数据库自由切换和动态高级查询。集成统一认证授权、事件总线、......