Linking models
Linking models are extremely important when considering how we can extend or embed things in native applications. There are two main linking models for Cython:
Fully embedded Python within C/C++ code, which looks like the following screenshot:
Using this method of embedding the Python runtime into a native application means you initiate execution of code directly from any point in your C/C++ code, as opposed to the Chapter 1, Cython Won't Bite where we had to run the Python interpreter and call an import to execute native code.
For the sake of completeness, here is the import model of using Cython:
This would be a more Pythonic approach to Cython, and will be helpful if your code base is mostly Python. We will review an example of the Python lxml
module, which provides a Cython backend, later in this book, and we can compare it to the native Python backend to review the speed and execution of both code bases to perform the same task.