These are the materials for the blog post: https://dirtyhandscoding.github.io/posts/performance-comparison-linear-search-vs-binary-search.html
It compares several implementations of linear or binary search intended to find position within a sorted array. Here is the main plot with results (Broadwell 2 Ghz CPU), see the blog post for more information.
All the C++ code is in search.cpp file, see more comments inside it.
Tiny script c.bat gives the command line for compiling search.cpp using MSVC compiler. Aside from the obvious /O2 setting there, also /arch:AVX2 and /D NDEBUG are important for proper performance measurements.
Also it contains commented command line for GCC compilation, which also needs one specific flag -fno-strict-overflow.
The python scripts work as follows (Python 3 is required).
First you run collectdata.py, which takes search.cpp source, copies it into search_tmp.cpp with some changes, compiles it using c.bat script and runs search_tmp.exe to generate text logs into /res subdirectory.
Then you run makeplots.py, which takes all logs in /res subdirectory and generates png images with plots (in the same subdirectory).

