Cython: A Guide for Python Programmers
You can build robust applications using Python’s expressivity and control and performance of C. So it is basically a hybrid language used by foundational packages like h5py, and Pandas. You can learn this robust language from a robust learning material.
Thus, you can boost Python’s performance up to 3000X. In addition to this, the book contains plenty of practical examples to polish your programming skills. This book covers different Cython features to enhance numeric-heavy Python.
Further, you will learn how to interact with Python interfaces to C++ and C libraries. It also guides you about optimizing code with runtime and compile-time profiling tools. Finally, you will be able to organize Cython code into separate modules effectively.
High-Performance Python: Practical Performant Programming for Humans
You might be able to write the correct Python code for your application. But the code might not run faster. Right? It happens when you write thousands of lines for a huge project. So your application results must be correct and fast as well. Therefore, High-Performance Python helps you in this regard.
The main objective of this book is to make your code more robust and efficient. So this book helps you to locate performance bottlenecks in your program. Then, removing the bottlenecks from your program speed up your code. Plus, you can take advantage of clusters or multi-core architecture after reading this book.
You will further learn how to build up a scalable and reliable system. This book gives you a strong grasp of Cython, Numpy, and profilers. Further, you will learn how to choose efficient programs by choosing suitable data structures. It also helps you to solve large problems using less RAM.
In addition to this, this book is very helpful for experienced Python programmers as well. Because it provides concrete solutions to many problems. Such as you will learn different tools to manage multiple I/O and computational operations concurrently.
Besides, you will learn how to covert multiprocessing code to run on a remote or even local cluster. After reading this book, you will be able to write right and high-performance code!
Advanced Python Programming: Build high performance, concurrent, and multi-threaded apps with Python using proven design patterns
It is another incredible source to learn Python. As the name of the book suggests, it is for advanced learners. However, beginners can also find this book very helpful because this book explains all concepts very clearly. Advanced Python Programming covers many native and third-party Python libraries for building responsive and robust applications.
In addition to this, the book teaches you profilers and reactive programming. Plus, you will learn parallelism, concurrency, and many other tools. This book further guides you on how to code for parallel architecture using Theano, and TensorFlow. Besides, you will also learn about Python design patterns work.
This book covers distributed algorithms on a cluster using PySpartk and Dask. Further, you will learn how to implement concurrency in your code. It also features Python design patterns with many real-world examples. You will also learn how to clone objects, dynamically choose algorithms, and secure interfaces.
Moreover, this book also teaches you to achieve the highest performance computing. You will also learn how to use NumPy and pandas to import and manipulate datasets. Then, you will learn how to achieve native performance using Numba and Cython. This book also guides you about cloning objects by using the prototype pattern.
Moreover, you will learn how to use the adapter pattern to make incompatible interfaces compatible. Further, you will learn how to employ your strategies for choosing dynamic algorithms.
Learning Cython Programming
Cython is the most robust and useful combination of C and Python. So you can write Python code to call back and forth any function of C++ and C language. Plus, this language uses some extra syntax for the static type of declarations. So it is the most powerful language that is used for multicore programming.
Learning Cython Programming helps you to extend your app in pure Python. Similarly, you will learn how to embed a twisted web server into your native application using Python code. Plus, the book guides you about reusing Python’s extensive libraries. Such as Config Parser and Logging.
In addition to this, the book teaches you about adding your own Python module in C from scratch. This book further guides you on how to write code in Python and compile with C. Further, you will learn how to take open source project and extend that. This book also teaches you how to add new commands in pure Python.
This book guides you to take an open-source project and add new command directly in pure Python. Further, you will learn how to handle all types of conversion in your code. It also helps you to reuse solved examples practically. Therefore, reusing the code saves a lot of time and effort. Finally, after reading this book, you will be proficient in Cython programming.