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