1 #include "reduce_sum.hpp"
2 #include <taskflow/taskflow.hpp>
3 
reduce_sum_taskflow(unsigned num_threads)4 void reduce_sum_taskflow(unsigned num_threads) {
5 
6   tf::Executor executor(num_threads);
7   tf::Taskflow taskflow;
8 
9   double result;
10 
11   taskflow.reduce(vec.begin(), vec.end(), result, [](double l, double r){
12     return l + r;
13   });
14 
15   executor.run(taskflow).get();
16 }
17 
measure_time_taskflow(unsigned num_threads)18 std::chrono::microseconds measure_time_taskflow(unsigned num_threads) {
19   auto beg = std::chrono::high_resolution_clock::now();
20   reduce_sum_taskflow(num_threads);
21   auto end = std::chrono::high_resolution_clock::now();
22   return std::chrono::duration_cast<std::chrono::microseconds>(end - beg);
23 }
24 
25 
26