| 263 | } |
| 264 | |
| 265 | int main(int argc, char* argv[]) |
| 266 | { |
| 267 | if (argc != 2) |
| 268 | { |
| 269 | std::cerr << "Usage: fork_join <size>\n"; |
| 270 | return 1; |
| 271 | } |
| 272 | |
| 273 | std::vector<double> vec(std::atoll(argv[1])); |
| 274 | std::iota(vec.begin(), vec.end(), 0); |
| 275 | |
| 276 | std::random_device rd; |
| 277 | std::mt19937 g(rd()); |
| 278 | std::shuffle(vec.begin(), vec.end(), g); |
| 279 | |
| 280 | std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now(); |
| 281 | |
| 282 | fork_join_sort(vec.begin(), vec.end()); |
| 283 | |
| 284 | std::chrono::steady_clock::duration elapsed = std::chrono::steady_clock::now() - start; |
| 285 | |
| 286 | std::cout << "sort took "; |
| 287 | std::cout << std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count(); |
| 288 | std::cout << " microseconds" << std::endl; |
| 289 | } |
nothing calls this directly
no test coverage detected