【Python】(自定义类)计算语句执行时间

一个玩具,写着来玩的。

用的time模块,代码很简单(所以才说是个玩具)


代码:

python 复制代码
import time
class TimeStamp:
	__timestamp=None
	__key=None
	def __init__(self,tips=None,key=None):
		self.__timestamp={}
		self.NewStamp(tips,key)
	def NewStamp(self,tips,key=None):
		self.__timestamp[key]=(time.time(),tips)
		self.__key=key
	def Duration(self,key=None,printVal=True):
		if(key not in self.__timestamp):
			key=self.__key
		val=round(time.time()-self.__timestamp[key][0],2)
		if(printVal):
			print(f'{self.__timestamp[key][1]}:  {val}s')
		return val

测试样例+运行结果:

python 复制代码
import random
if __name__=='__main__':
	ts=TimeStamp('总用时','Total')

	ts.NewStamp('创建列表')
	lst=[random.randint(1,100) for i in range(1000000)]
	ts.Duration()

	ts.NewStamp('列表复制')
	lst=lst*100
	ts.Duration()

	ts.NewStamp('字串化')
	s=str(lst)
	ts.Duration()

	ts.NewStamp('哈希计算')
	h=hash(s)
	ts.Duration()

	ts.Duration('Total')

小小声
  1. 这么简单的东西都上传?是来互联网灌垃圾的是吧(没错
  2. 没想到hash的效率挺高,反倒是变量的字串化有可能成为瓶颈(只不过也得数据量大到相当程度才会影响效率

未经本人同意不得私自转载,本文发布于CSDN:https://blog.csdn.net/weixin_44733774/article/details/134609775

相关推荐
2301_814809861 小时前
如何让导航栏下落动画变慢?——CSS 动画时长精准控制教程
jvm·数据库·python
weixin_424999361 小时前
mysql如何利用并行查询提速_mysql 8.0并行扫描特性
jvm·数据库·python
来自远方的老作者1 小时前
第10章 面向对象-10.3 封装
开发语言·python·私有属性·私有方法·封装
2201_761040591 小时前
PHP8.3新特性对AI开发影响_最新功能应用【解答】
jvm·数据库·python
Greyson11 小时前
如何在 React 中正确绑定 onClick 事件以避免类型错误
jvm·数据库·python
j_xxx404_2 小时前
用系统调用从零封装一个C语言标准I/O库 | 附源码
linux·c语言·开发语言·后端
2401_897190552 小时前
Python最短路径怎么求_Dijkstra算法与优先队列结合
jvm·数据库·python
覆东流2 小时前
第4天:Python输入与输出
后端·python·photoshop·输入与输出
2401_883600252 小时前
MySQL如何备份非常大的数据库_mydumper多线程逻辑导出工具
jvm·数据库·python
djjdjdjdjjdj2 小时前
CSS如何设置文本的描边颜色_通过text-stroke设置css字体轮廓
jvm·数据库·python