#include #include #include #include "levelgraph.hpp" struct TF { TF(LevelGraph& graph, unsigned num_threads) : executor(num_threads) { tasks.resize(graph.level()); for(size_t i=0; i=0 ; l--){ for(size_t i=0; i> tasks; }; void traverse_level_graph_taskflow(LevelGraph& graph, unsigned num_threads){ TF tf(graph, num_threads); tf.run(); } std::chrono::microseconds measure_time_taskflow(LevelGraph& graph, unsigned num_threads){ auto beg = std::chrono::high_resolution_clock::now(); traverse_level_graph_taskflow(graph, num_threads); auto end = std::chrono::high_resolution_clock::now(); return std::chrono::duration_cast(end - beg); }