Dissecting memory mysteries of Python
by Vishal Kanaujia (speaking)
- Core Python
- Technical level
Memory leak has been perennial problem for Python applications. This causes application to behave erroneously with Memory error and very slow operation. What is wrong with the application? How to find out the cause and fix it? This is the motivation for this talk.
Python is a dynamically typed language. Applications leave task of object memory management to Python VM. Python automatically manages memory using reference counting and garbage collection. But, Python memory manager may bloat the VM size, and sometimes it may consume complete main memory. It causes applications to deliver low performance and encounter unexpected memory errors.
This talk dissects the internals of CPython memory manager, its limitations and negative impact on application behavior. We demonstrate the problem of memory leaks by learning Python heap pattern, object graphs and memory profiling. Next, we suggest solutions to reduce memory footprints of applications, tools to diagnose and fix memory leaks and lesson learned as best development practices.
Vishal Kanaujia is a Python developer and technology enthusiast. He has delivered talks and written articles on Python. He was a speaker at Pycon APAC, Singapore, 2012, PyCon India 2012, PyCon India 2011, and SciPy India 2011.
He has interest in fields including Python internals, Filesystems, and search technologies, and application performance optimization. He shares his thoughts, opinion and knowledge through blog (http://freethreads.wordpress.com), technical papers, and articles with international magazines including ‘Linux for You’ and ‘Agile Record’.
Open source projects
FUSEing Python for rapid development of storage efficient file system, PyCon APAC, June 2012, Singapore (http://www.slideshare.net/cjgiridhar/fuseing-python-for-rapid-development-of-storage-efficient-fs)
Rapid development of website search in Python, PyCon India, September 2012 (http://www.slideshare.net/cjgiridhar/rapid-development-of-website-search-in-python)
Exploiting the power of multicore for scientific computing in Python, SciPy India, December 2011, IIT Bombay (http://technobeans.wordpress.com/2012/02/02/exploiting-the-power-of-multi-core-for-scientific-computing-in-python)
Diving in to Byte-code optimization in Python, SciPy India, December 2011, IIT Bombay (http://technobeans.wordpress.com/2011/12/09/diving-into-byte-code-optimization-in-python/)
‘Python threads: Dive into GIL!’, PyCon India, Sept 2011 (http://technobeans.wordpress.com/2011/09/19/pycon-india-2011-python-threads-dive-into-gil/)