【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

相关推荐
bug嘛我经常写11 小时前
如何批量删除word文档中存在的无用样式
经验分享·python·word
5G微创业11 小时前
Python / Node.js 调用短视频去水印 API 完整示例(含 SDK)
python·node.js·音视频·api·sdk·短视频
长不胖的路人甲11 小时前
斐波那契查找Java 实现 + 完整思路
java·开发语言
星恒随风11 小时前
C++ 继承进阶:默认成员函数、多继承、虚继承与组合设计
开发语言·c++·笔记·学习
Yeauty11 小时前
用 Whisper 转录前,你不用再离开 Rust
开发语言·rust·ffmpeg·音视频·视频
电子云与长程纠缠11 小时前
UE中使用TGuardValue与TInlineComponentArray数据结构
开发语言·数据结构·学习·ue5·游戏引擎
phltxy11 小时前
LangGraph智能租房助手实践
大数据·人工智能·python·深度学习·语言模型·langchain
码银12 小时前
放弃了豆包,我使用Python做了一个桌面宠物
python·microsoft·宠物
呜喵王阿尔萨斯12 小时前
C/C++ const -- 多义混乱
c语言·开发语言·c++
__log12 小时前
幂等性设计:从“重复提交“到“稳如磐石“的系统防护
java·开发语言·spring boot