|  | // 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 |