• 使用自定义装饰器测量时间

def test_time(func):
def inner(*args, **kw):
t1 = datetime.datetime.now()
print('开始时间:', t1)
func(*args, **kw)
t2 = datetime.datetime.now()
print('结束时间:', t2)
print('耗时: ', t2 - t1) return inner @test_time
def call():
a = list()
for i in range(1000 * 10000):
a .append(i)

输出结果:

开始时间: 2019-08-30 22:22:01.881215

结束时间: 2019-08-30 22:22:02.816677

耗时: 0:00:00.935462

  • 使用cProfile

def func():
a2 = list()
for i in range(100000):
a2.append(i) if __name__ == '__main__': al = list()
for i in range(2000000):
al.append(i) func()

ncalls tottime percall cumtime percall filename:lineno(function)

1 0.254 0.254 0.405 0.405 test.py:8()

1 0.009 0.009 0.013 0.013 test.py:8(func)

1 0.000 0.000 0.405 0.405 {built-in method builtins.exec}

2100000 0.142 0.000 0.142 0.000 {method 'append' of 'list' objects}

1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}

能够显示各种操作的耗时。

  • 更直观的逐行代码时间测量line_profiler

    没装成功。

最新文章

  1. JS去除空格方法记录
  2. mvn生成runnablejar 的方法
  3. 【iCore3 双核心板_ uC/OS-III】例程八:互斥信号量
  4. POI格式化Cell样式
  5. rsync 无密码 传输
  6. Django 1.6 最佳实践: 如何设置和使用 Log(转)
  7. cocos2d-x中CCTextureCache图片资源的异步加载<转>
  8. 在iOS的XCode工程配置中为什么要用-all_load&-ObjC
  9. 转:二十七、Java图形化界面设计——容器(JFrame)
  10. Swift - 28 - 内部参数名和外部参数名
  11. 使用Spring的@Autowired 实现DAO, Service, Controller三层的注入(转)
  12. 【Java基础】线程和并发机制
  13. 一个不可思议的MySQL慢查分析与解决
  14. ubuntu16.04安装nvidia驱动及CUDA+cudnn
  15. 初窥Java之三
  16. 使用node.js + json-server + mock.js 搭建本地开发mock数据服务
  17. pythonl输出的预警消息中的json串的中文展示乱码(中文的unicode码)
  18. 【Revit API】创建共享参数
  19. css3 matrix 2D矩阵和canvas transform 2D矩阵
  20. ES6-const注意

热门文章

  1. docker安装禅道
  2. C# 创建临时文件(转帖)
  3. Solr搜索引擎基础
  4. jsp页面a标签URL转码问题
  5. 5.React中组件通信问题
  6. lists.newarraylist()和new arraylist() 区别
  7. xfs格式化、ext4格式化并指定inode区别
  8. 二进制安装MySQL5.6 MySQL5.7
  9. jmeter_linux下运行
  10. 测开之路一百一十二:bootstrap按钮