Master Python techniques and libraries to reduce run times, efficiently handle huge datasets, and optimize execution for complex machine learning applications.
Fast Python is a toolbox of techniques for high performance Python
Fast Python is your guide to optimizing every part of your Python-based data analysis process, from the pure Python code you write to managing the resources of modern hardware and GPUs. You'll learn to rewrite inefficient data structures, improve underperforming code with multithreading, and simplify your datasets without sacrificing accuracy.
Written for experienced practitioners, this book dives right into practical solutions for improving computation and storage efficiency. You'll experiment with fun and interesting examples such as rewriting games in Cython and implementing a MapReduce framework from scratch. Finally, you'll go deep into Python GPU computing and learn how modern hardware has rehabilitated some former antipatterns and made counterintuitive ideas the most efficient way of working.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Face it. Slow code will kill a big data project. Fast pure-Python code, optimized libraries, and fully utilized multiprocessor hardware are the price of entry for machine learning and large-scale data analysis. What you need are reliable solutions that respond faster to computing requirements while using less resources, and saving money.
About the Book
Fast Python is a toolbox of techniques for speeding up Python, with an emphasis on big data applications. Following the clear examples and precisely articulated details, you’ll learn how to use common libraries like NumPy and pandas in more performant ways and transform data for efficient storage and I/O. More importantly, Fast Python takes a holistic approach to performance, so you’ll see how to optimize the whole system, from code to architecture .
What’s Inside
About the Reader
For intermediate Python programmers familiar with the basics of concurrency.
About the Author
Tiago Antão is one of the co-authors of Biopython, a major bioinformatics package written in Python.
Table of
PART 1 - FOUNDATIONAL APPROACHES 1 An urgent need for efficiency in data processing 2 Extracting maximum performance from built-in features 3 Concurrency, parallelism, and asynchronous processing 4 High-performance NumPy PART 2 - HARDWARE 5 Re-implementing critical code with Cython 6 Memory hierarchy, storage, and networking PART 3 - APPLICATIONS AND LIBRARIES FOR MODERN DATA PROCESSING 7 High-performance pandas and Apache Arrow 8 Storing big data PART 4 - ADVANCED TOPICS 9 Data analysis using GPU computing 10 Analyzing big data with Dask
Nope, 5 stars rating doesn't mean it's perfect. But I've learned a lot & expanded my palette of options with a bunch of interesting solutions I either wasn't aware of or didn't know much about until now. Yes, it's easy to point out something the book doesn't cover (e.g., Ray), but it's not because of the author's laziness - the topic is extremely broad & practically can't be covered 100% in a single book.
What did I like most? It's hard to underline just one thing - Python was never my main language, so even relatively simple topics like profiling tooling were very valuable. The book also demythologizes topics like Cython and practical applications of GPU in your code (with CuPy). The only chapter that felt slightly outdated was Dask - maybe I'm wrong here, but I had an impression that there are some better equivalents these days.
Thanks to Manning Publications, I had the opportunity to review the draft version of the book. If you are interested in learning how to write efficient code in Python, this book is a must have. Learn making your slower code faster using Cython, efficient use of numpy, pandas and lot more.