Fast Python aggressively rehashes the basics of Python programming in order to dispel myths and misconceptions about how to write fast code. Readers equipped with the lessons from this book will be able to test, diagnose, and optimize out performance bottlenecks in their own work. For each algorithm discussed, readers will walk through numerous progressively faster methods of programming it, all while picking up bits of fundamental knowledge about time complexity, memory efficiency, data structures, multi-threading, and vectorization. As such, this book is relevant to veterans looking refresh their methods and to computer science students navigating Algorithms 101. This book maintains a high standard of reproducibility. All of the graphics, tables, and code profiles contained in this book are fully reproducible and available to anyone in a public GitHub repository.
During my first year studying computer science, one of my courses were called "Datenstrukturen und Algorithm" (data structures and algorithm). Since then, I'm fascinated with complexity and runtime of my own code - back then I was happy when it worked, now I higher standards to my code ;)
This is a short and really well written book and I recommended to my team members to have a look into it. I'm working with Python since over 10 years and a lot of the stuff was already known, but I never had a such close look to it. And even so, there were two gold nuggets which I still find fascinating: The += operator for strings is slower and worse for memory than ''.join(), but for lists += is faster than .extend()! And now I know what I will do tomorrow in between tasks: checking my code for the slower solution and replace it where possible ;)