Gavin Chan is a principal quantitative developer in AXA Investment Managers Chorus Ltd with 7+ years of experience in software development and finance industry.
- Are you sometimes frustrated by the performance of Python?
- Do you always look for open source library to speed up your process?
- Do you feel numpy cannot give you much edge to enhance the performance now?
If you answer yes in any of the above questions, probably writing C extension will be a great solution to you.
First we will go through the reasons to learn writing C extension. Then the modern libraries, e.g. Cython and pybind11, will be introduced to develop C extension and compared with their features and functionalities. Also, a few simple but practical examples are demonstrated that writing C extension can be straightforward, and improves greatly your software quality and performance.