记录python时间内存计算操作
- 时间计算采用time模块
- 内存计算分别采用memory_profiler和psutil
1.占用时间计算:time
import timedef funT(t):for i in range(t*10):passif __name__=='__main__':t=10begin=time.time()funT(t)end=time.time()print('时间:{}s'.format(end - begin))
#时间:3.0994415283203125e-06s
2.占用内存计算:memory_profiler
#方法1
from memory_profiler import profile #pip 安装@profile
def FunS(n):[1]*(10**n)if __name__=='__main__':n=7FunS(n) #Line # Mem usage Increment Occurrences Line Contents
#=============================================================
# 8 18.4 MiB 18.4 MiB 1 @profile
# 9 def DemoSpace(n):
# 10 94.7 MiB 76.3 MiB 1 [1]*(10**n)
3. 占用内存空间:psutil
import psutil
import osdef show_info():#计算消耗内存pid = os.getpid()# 模块名比较容易理解:获得当前进程的pidp = psutil.Process(pid)# 根据pid找到进程,进而找到占用的内存值info = p.memory_info()memory = info.rss / 1024 / 1024return memorydef FunS(n):[1]*(10**n)if __name__=='__main__':n = 7start_memory = show_info()FunS(n) # 需要计算的算法步骤end_memory = show_info()print(f'一共占用{end_memory - start_memory}MB')#一共占用76.3046875MB