diff options
Diffstat (limited to 'base/task_scheduler/initialization_util.cc')
-rw-r--r-- | base/task_scheduler/initialization_util.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/base/task_scheduler/initialization_util.cc b/base/task_scheduler/initialization_util.cc new file mode 100644 index 0000000000..7accd19c6f --- /dev/null +++ b/base/task_scheduler/initialization_util.cc @@ -0,0 +1,22 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/task_scheduler/initialization_util.h" + +#include <algorithm> + +#include "base/sys_info.h" + +namespace base { + +int RecommendedMaxNumberOfThreadsInPool(int min, + int max, + double cores_multiplier, + int offset) { + const int num_of_cores = SysInfo::NumberOfProcessors(); + const int threads = std::ceil<int>(num_of_cores * cores_multiplier) + offset; + return std::min(max, std::max(min, threads)); +} + +} // namespace base |