13 std::atomic<size_t> current_iteration(0);
15 auto worker = [&](size_t) {
24 auto num_threads = std::min(num_iterations,
get_num_cpus()) - 1;
32 std::vector<std::thread> threads(num_threads);
34 for (
size_t i = 0; i < num_threads; ++i) {
35 threads[i] = std::thread(worker, i);
40 for (
auto& thread : threads) {