High Performance Python: Practical Performant Programming for Humans

Micha Gorelick & Ian Ozsvald

Language: English

Publisher: O'Reilly

Published: May 26, 2020

Description:

Your Python code may run correctly, but you need it to run faster. By exploring the fundamental theory behind design choices, the updated edition of this practical guide, expanded and enhanced for Python 3, helps you gain a deeper understanding of Python's implementation. You'll learn how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs.

How can you take advantage of multicore architectures or clusters? Or build a system that can scale up and down without losing reliability? Experienced Python programmers and students alike will learn concrete solutions to these and other issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and other situations.

Get a better grasp of NumPy, Cython, and profilersLearn how Python abstracts the underlying computer architectureUnderstand performant pandasUse profiling to find bottlenecks in CPU time and memory usageWrite efficient programs by choosing appropriate data structuresSpeed up matrix, vector, and even tensor computationsUse tools to compile Python down to machine code, on CPUs and GPUsManage multiple I/O and computational operations concurrentlyConvert multiprocessing code to run on a local or remote clusterDeploy code faster using tools like DockerSolve large problems while using less RAMGet real-life stories and lessons from Python programmers