【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

相关推荐
栈溢出了3 分钟前
VS Code Python 自动导包失效排查笔记
开发语言·笔记·python
DanCheng-studio4 分钟前
毕业设计项目 基于深度学习的抽烟行为检测算法实现(源码分享)
python·毕业设计·毕设
朝朝辞暮i9 分钟前
C++ 第 28 课:Lambda 表达式
开发语言·c++·算法
Frank_refuel15 分钟前
深入理解RpcRouter(远端调用模块)
开发语言·qt
Wx-bishekaifayuan17 分钟前
springboot陨石鉴收系统96265-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
黑科技iOS上架26 分钟前
双引擎解决oc/swift开发引用加固难题
开发语言·ios·swift·审核·ios混淆·执行程序差异化
yujunl26 分钟前
U9客开中UI插件开发过程中碰到有一个坑
开发语言
iCxhust30 分钟前
C语言struct结构体实现类定义
c语言·开发语言·单片机·嵌入式硬件·51单片机
本地化文档35 分钟前
pygmt-docs-l10n
python·github·gitcode·sphinx·pygmt·gmt·crowdin
Web3&Basketball36 分钟前
用 SGLang 决策端点做毫秒级 Agent 路由
python·大模型·agent·强化学习·多模态·推理