| 127 | |
| 128 | template <lf::scheduler Sch, lf::numa_strategy Strategy> |
| 129 | void uts_libfork(benchmark::State &state, int tree) { |
| 130 | |
| 131 | state.counters["green_threads"] = state.range(0); |
| 132 | |
| 133 | Sch sch(state.range(0)); |
| 134 | |
| 135 | setup_tree(tree); |
| 136 | |
| 137 | volatile int depth = 0; |
| 138 | Node root; |
| 139 | |
| 140 | result r; |
| 141 | |
| 142 | for (auto _ : state) { |
| 143 | uts_initRoot(&root, type); |
| 144 | r = sync_wait(sch, uts, depth, &root); |
| 145 | // std::cout << "maxdepth: " << r.maxdepth << " size: " << r.size << " leaves: " << r.leaves << std::endl; |
| 146 | } |
| 147 | |
| 148 | if (r != result_tree(tree)) { |
| 149 | std::cerr << "lf uts " << tree << " failed" << std::endl; |
| 150 | } |
| 151 | } |
| 152 | |
| 153 | void uts_libfork_coalloc_lazy_seq(benchmark::State &state, int tree) { |
| 154 | uts_libfork<lf::lazy_pool, lf::numa_strategy::seq>(state, tree); |
nothing calls this directly
no test coverage detected