Executes the test first once to populate caches,
then one more time in one single thread to benchmark
test duration with execution in a single thread, and
lastly executes with multiple threads to check if the
execution time is significantly longer with parallel
threads.