Multithreading benchmarks
Posted: April 19th, 2019, 2:34 pm
I have made a repository that contains a collection of projects that benchmark high performance multithreaded implementations of common algorithms. It's a CMake project that compiles both the serial and concurrent versions of the project.
Right now, I have only managed to upload a project that benchmarks the filter algorithm. The algorithm simply copies elements from one array to another if the element meets a cetain condition. In this case, it checks numbers from the array to see if it is below a certain threshold and copies it over if so.
The multithreaded implementation is pretty basic as far as high performance multithreaded code go. I ran it on my quad core hyperthreaded i7 and the results are quite satisfying. It helps to show the capabilities of multithreading and its potential in the future as we get more and more cores in our CPUs. Hopefully it manages to run as well on your CPU as it did on mine. It should work even if you have a single core CPU but really, what's the point of running this on a CPU like that.
I'll upload the merge sort and quick sort project once I'm done optimizing them.
Right now, I have only managed to upload a project that benchmarks the filter algorithm. The algorithm simply copies elements from one array to another if the element meets a cetain condition. In this case, it checks numbers from the array to see if it is below a certain threshold and copies it over if so.
The multithreaded implementation is pretty basic as far as high performance multithreaded code go. I ran it on my quad core hyperthreaded i7 and the results are quite satisfying. It helps to show the capabilities of multithreading and its potential in the future as we get more and more cores in our CPUs. Hopefully it manages to run as well on your CPU as it did on mine. It should work even if you have a single core CPU but really, what's the point of running this on a CPU like that.
I'll upload the merge sort and quick sort project once I'm done optimizing them.