Learning Python 017 — Python2 和 Python3 的内存释放
- 使用的电脑系统:Windows 10 64位
- 使用的开发集成环境:PyCharm 2016.1.4
- 使用的Python的版本:python 2.7.10 和 python 3.5.0
学习Python的内存释放知识点的动机
之前我学过很多Python的程序,偶然的一次,我打开任务管理器,看到我写的程序,运行时占用了大量的内存,所以,我希望学会如何释放内存,来优化我的程序,也不给电脑照成太大的负担,所以,我想学会:Python的内存释放这个知识点。
参考网站: gc模块–Python内存释放
下面写几个实验程序,里面都是使用range()
函数来分配内存空间的。range()
函数的详细介绍,请见这篇博客:range()函数在python2 和 python3中的使用介绍。
Python2 内存释放
未优化前的代码:
a = range(1000*10000)
while True:
pass
优化内存的代码:
使用手动释放内存的方法来优化内存。
import gc
a = range(1000*10000)
del a
gc.collect()
while True:
pass
可以看出,占用的内存空间明显减小了。
既优化了内存,也优化了CPU 的代码
使用睡眠来优化CPU运行。
import gc
import time
a = range(1000*10000)
del a
gc.collect()
while True:
time.sleep(1.0)
pass
Python3 内存释放
未优化前的代码:
a = range(1000*10000)
while True:
pass
使用Python3库运行未优化的代码,所需要的消耗的内存空间和使用Python2运行优化内存的代码消耗的内存空间 差不多。
优化内存的代码:
import gc
a = range(1000*10000)
del a
gc.collect()
while True:
pass
可以看出,所暂用的内存空间没有任何增减。
既优化了内存,也优化了CPU 的代码:
import gc
import time
a = range(1000*10000)
del a
gc.collect()
while True:
time.sleep(1.0)
pass
总结
Python3 真的是比 Python2 更加的完善了,从这一点上也可以看出来,Python语言是第4代语言里面非常杰出的语言。随着它的不断发展,它会运行速度慢和内存消耗大的缺点会慢慢的消失(因为:许多Python内置库是用C语言写的)。我看好Python。
请访问:http://www.aobosir.com/
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: Learning Python 021 创建文件夹、创建文件
- 下一篇:没有了