1 #include "reduce_sum.hpp" 2 #include <taskflow/taskflow.hpp> 3 reduce_sum_taskflow(unsigned num_threads)4void 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)18std::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