python测试代码性能_使用python timeit 模块检测代码性能
使用Python 通常在乎的是它的开发效率,而不是运行性能。 但如果通过很简单的方法可以测试出n种不同的写法之间的性能差异,这个过程本身也是一种乐趣。
python 自带了timeit 模块,可以在代码中调用,也可以在Python 命令行调用。
>>> import timeit
>>> timeit.timeit('1+1', number=1000000)
0.01681208610534668
$ python -m timeit '"".join(" \t foo \n bar ".split())'
1000000 loops, best of 3: 0.319 usec per loop
$ python -m timeit -s 'import re' 're.sub(r"\s+", "", " \t foo \n bar ")'
100000 loops, best of 3: 1.95 usec per loop
$ python -m timeit -n 10000000 -s 'import re; e = re.compile(r"\s+")' 'e.sub("", " \t foo \n bar ")'
10000000 loops, best of 3: 1.2 usec per loop
通过第二个例子,我们就可以知道去除字符串空格更好的方法是 ''.join(stri.split())
注意例子中的-s 'xxxx' 只会被执行一次。 可理解s 为 setup.
参考文档
python测试代码性能_使用python timeit 模块检测代码性能相关推荐
- python测试抽奖脚本_使用 Python 写一个简易的抽奖程序
不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...
- python测试开发实战_《python测试开发实战》基于pytest基础部分实例1-Hello
要求 实现如下命令行接口 python 1hello.py -h usage: 1hello.py [-h] [-n NAME] Say hello optional arguments: -h, - ...
- 可爱的python测试开发库及项目(python测试开发工具库汇总)
转载: https://www.jianshu.com/p/ea6f7fb69501 可爱的python测试开发库及项目(python测试开发工具库汇总) github地址 相关书籍下载 Python ...
- python读取oracle数据库性能_用python对oracle进行简单性能测试
一.概述 dba在工作中避不开的两个问题,sql使用绑定变量到底会有多少的性能提升?数据库的审计功能如果打开对数据库的性能会产生多大的影响?最近恰好都碰到了,索性做个实验. sql使用绑定变量对性能的 ...
- python是非常依赖于已编译完成的代码吗_初识Python的几点疑惑
一.python是什么? Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991 ...
- python列表去重函数_对python中两种列表元素去重函数性能的比较方法
测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import t ...
- 西安把python需要纳入课堂_西安Python测试开发全栈核心课程
从初级的手工测试到.顶端的测试开发,大家都希望能不断的进行技术的提升,而就目前的现状而言,在企业内部不愿意花费成本去进行高级人才的培养,企业更愿意花高薪招聘高级技术人才,而我们希望能够在工作中不断提升 ...
- python直接执行代码漏洞_修复Python任意命令执行漏洞
Author:JoyChou@美丽联合安全 Date:20180605 1. 前言 今天遇到一个不好做白名单的Python命令执行漏洞修复的问题.由于是shell=True导致的任意命令执行,一开始大 ...
- python 预编译加速_让Python代码运行更快的最佳方式
Python因其强大.灵活且易于使用等特性,而赢得了声誉.这些优点使其在各种各样的应用程序.工作流程和领域中得到了广泛应用.但是就语言的设计,也就是它天然的解释能力还有它的运行时的动态性而言,Pyth ...
最新文章
- 第二届Bio-protocol生物实验短视频大赛作品征集开始 | 奖品丰厚,等你来拿
- Flex 中取得当前服务IP地址
- java 单引号的字符串类型_Java程序以字符串形式显示双引号和单引号
- CSS五种水平居中:text-align margin incline-block flex relative
- mavenspringboot配置不同profile环境
- jquery中的 $(function(){})
- jeecg 查看 页面 父子表 横向滚动条效果 官方被禁用
- linux安装python_最基础:如何安装Python?
- c# gerber文件读取_gerber文件查看器|gerber文件查看工具(GerbView)下载 v7.71 免费版 - 121下载站...
- 开关Switch系列:Switch修改滑块(thumb)和滑道(track)的颜色(一)
- 活着,要有温暖的感觉
- 软件架构--架构设计的整体介绍
- Windows桌面端录屏采集实现
- A3Mall电商平台——测试计划
- 王慧文:当下社会最稀缺的是“π型人才”
- 单位计算机网络管理员论文,计算机专业毕业论文(计算机网络管理软件的研究)教案.doc...
- 【技术邻】基于DynaForm的多工步连续模(级进模)分析实例
- 普歌-(mac m1亲身教程)iterm配置oh-my-zsh以及iterm配置dracula主题
- 百度、腾讯和阿里巴巴 12大隐藏良心级实用功能
- 无效的源发行版,解决方案
热门文章
- 新书发布:时隔一年,我的第二本书终于来了
- 总算是把用户流失分析讲清楚了!
- SAP 电商云 Spartacus UI 的 style library 介绍
- Event Bus 设计模式学习笔记
- SAP Spartacus breakpoint的决定逻辑
- SAP Spartacus 自定义 Component 的使用 - SimpleResponsiveBannerComponent
- Eclipse里调试时遇到Source not found应该怎么办
- CRM_UI start port determination how is port number 44356 determined
- how is view embedded via component usage being initialized
- Opportunity creation case in Firebug