使用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 模块检测代码性能相关推荐

  1. python测试抽奖脚本_使用 Python 写一个简易的抽奖程序

    不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...

  2. python测试开发实战_《python测试开发实战》基于pytest基础部分实例1-Hello

    要求 实现如下命令行接口 python 1hello.py -h usage: 1hello.py [-h] [-n NAME] Say hello optional arguments: -h, - ...

  3. 可爱的python测试开发库及项目(python测试开发工具库汇总)

    转载: https://www.jianshu.com/p/ea6f7fb69501 可爱的python测试开发库及项目(python测试开发工具库汇总) github地址 相关书籍下载 Python ...

  4. python读取oracle数据库性能_用python对oracle进行简单性能测试

    一.概述 dba在工作中避不开的两个问题,sql使用绑定变量到底会有多少的性能提升?数据库的审计功能如果打开对数据库的性能会产生多大的影响?最近恰好都碰到了,索性做个实验. sql使用绑定变量对性能的 ...

  5. python是非常依赖于已编译完成的代码吗_初识Python的几点疑惑

    一.python是什么? Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991 ...

  6. python列表去重函数_对python中两种列表元素去重函数性能的比较方法

    测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import t ...

  7. 西安把python需要纳入课堂_西安Python测试开发全栈核心课程

    从初级的手工测试到.顶端的测试开发,大家都希望能不断的进行技术的提升,而就目前的现状而言,在企业内部不愿意花费成本去进行高级人才的培养,企业更愿意花高薪招聘高级技术人才,而我们希望能够在工作中不断提升 ...

  8. python直接执行代码漏洞_修复Python任意命令执行漏洞

    Author:JoyChou@美丽联合安全 Date:20180605 1. 前言 今天遇到一个不好做白名单的Python命令执行漏洞修复的问题.由于是shell=True导致的任意命令执行,一开始大 ...

  9. python 预编译加速_让Python代码运行更快的最佳方式

    Python因其强大.灵活且易于使用等特性,而赢得了声誉.这些优点使其在各种各样的应用程序.工作流程和领域中得到了广泛应用.但是就语言的设计,也就是它天然的解释能力还有它的运行时的动态性而言,Pyth ...

最新文章

  1. 第二届Bio-protocol生物实验短视频大赛作品征集开始 | 奖品丰厚,等你来拿
  2. Flex 中取得当前服务IP地址
  3. java 单引号的字符串类型_Java程序以字符串形式显示双引号和单引号
  4. CSS五种水平居中:text-align margin incline-block flex relative
  5. mavenspringboot配置不同profile环境
  6. jquery中的 $(function(){})
  7. jeecg 查看 页面 父子表 横向滚动条效果 官方被禁用
  8. linux安装python_最基础:如何安装Python?
  9. c# gerber文件读取_gerber文件查看器|gerber文件查看工具(GerbView)下载 v7.71 免费版 - 121下载站...
  10. 开关Switch系列:Switch修改滑块(thumb)和滑道(track)的颜色(一)
  11. 活着,要有温暖的感觉
  12. 软件架构--架构设计的整体介绍
  13. Windows桌面端录屏采集实现
  14. A3Mall电商平台——测试计划
  15. 王慧文:当下社会最稀缺的是“π型人才”
  16. 单位计算机网络管理员论文,计算机专业毕业论文(计算机网络管理软件的研究)教案.doc...
  17. 【技术邻】基于DynaForm的多工步连续模(级进模)分析实例
  18. 普歌-(mac m1亲身教程)iterm配置oh-my-zsh以及iterm配置dracula主题
  19. 百度、腾讯和阿里巴巴 12大隐藏良心级实用功能
  20. 无效的源发行版,解决方案

热门文章

  1. 新书发布:时隔一年,我的第二本书终于来了
  2. 总算是把用户流失分析讲清楚了!
  3. SAP 电商云 Spartacus UI 的 style library 介绍
  4. Event Bus 设计模式学习笔记
  5. SAP Spartacus breakpoint的决定逻辑
  6. SAP Spartacus 自定义 Component 的使用 - SimpleResponsiveBannerComponent
  7. Eclipse里调试时遇到Source not found应该怎么办
  8. CRM_UI start port determination how is port number 44356 determined
  9. how is view embedded via component usage being initialized
  10. Opportunity creation case in Firebug