diff --git a/util/app.h b/util/app.h index 8161419..1a96c22 100644 --- a/util/app.h +++ b/util/app.h @@ -80,8 +80,7 @@ class AppArgs : public ArgsBase { void ChooseNumThreads() { if (num_threads == kDefaultNumThreads) { // This is a rough heuristic, replace with something better in the future. - num_threads = static_cast(std::clamp( - static_cast(std::thread::hardware_concurrency()) - 2, 1, 18)); + num_threads = GetSupportedThreadCount(); } } @@ -91,6 +90,11 @@ class AppArgs : public ArgsBase { ChooseNumThreads(); } + static inline size_t GetSupportedThreadCount() { + return static_cast(std::clamp( + static_cast(std::thread::hardware_concurrency()) - 2, 1, 18)); + } + Path log; // output int verbosity; size_t num_threads;