Benchmarking is an important tool we use to access the relative performance of a software or specific component of a software, normally by running a number of standard tests and trials against it.
ifunc is a special feature provided by GNUC which can help you to optimize your function call. It allows to create multiple implementations of one function. A best implementation can be selected during runtime for particular procesor.
In this blog, I will continue to work with openCV fast-math functions optimization. You can look at the source code of OpenCV here.
This week we are going to discuss how to build a software. I need to learn more about it because I am going to try optimizing an open source package/library. In order to work with it, at least I need to build it successfully firstly. So let us take a look about the modern software building process.
After some experience of previous software optimization practices, I decide to play with to a very popular computer vision library - OpenCV to see whether the optimization skills I learned before can make a little bit improvement to a real-world project.