python代码优化-----cpu和内存监控
1、memory_profiler可以监控代码的内存消耗及增长量,以下面的代码为例。
发现在for循环里增加了0.3MB,这个工具可以帮助我们定位内存泄露的问题。
2、profile与cProfile可以监控代码的CPU占用,看下下面的代码。
结果如下,ncalls是调用次数,cumtime可以看到累计时间,包含子函数,tottime不包含子函数,可以看到总共占用cpu0.049秒,test用了0.038,test_1用例0.01秒,在上面的代码里,我们使用了sleep,但是看结果,可以确定sleep并没有占用cpu。
下面是去掉sleep的情况,test_1执行稍快了一点点,说明虽然不使用CPU,但是cpu的占用与释放还是有损耗的,只是不明显。
3、cProfile和profile类似,下面是一种常用的用法。
可以根据时间排序。