diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-06-02 20:20:23 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-06-02 20:20:23 -0700 |
commit | f64e1852dc065c17d7c78b43a7cfb7fbe64e3cb4 (patch) | |
tree | 571bf874365e41a50976da0d15604e5d6f1edebb /src/support/threads.cpp | |
parent | b37bd96ea3345cf7015e9e925e0d33524cd1c3db (diff) | |
parent | e4a81f9ea487441e0c01f399d15026672fdeadf9 (diff) | |
download | binaryen-f64e1852dc065c17d7c78b43a7cfb7fbe64e3cb4.tar.gz binaryen-f64e1852dc065c17d7c78b43a7cfb7fbe64e3cb4.tar.bz2 binaryen-f64e1852dc065c17d7c78b43a7cfb7fbe64e3cb4.zip |
Merge pull request #560 from WebAssembly/func-running
Option to optimize while building modules
Diffstat (limited to 'src/support/threads.cpp')
-rw-r--r-- | src/support/threads.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/support/threads.cpp b/src/support/threads.cpp index 2c2db1997..4830cd092 100644 --- a/src/support/threads.cpp +++ b/src/support/threads.cpp @@ -116,14 +116,18 @@ void ThreadPool::initialize(size_t num) { DEBUG_POOL("initialize() is done\n"); } +size_t ThreadPool::getNumCores() { + size_t num = std::max(1U, std::thread::hardware_concurrency()); + if (getenv("BINARYEN_CORES")) { + num = std::stoi(getenv("BINARYEN_CORES")); + } + return num; +} + ThreadPool* ThreadPool::get() { if (!pool) { - size_t num = std::max(1U, std::thread::hardware_concurrency()); - if (getenv("BINARYEN_CORES")) { - num = std::stoi(getenv("BINARYEN_CORES")); - } pool = std::unique_ptr<ThreadPool>(new ThreadPool()); - pool->initialize(num); + pool->initialize(getNumCores()); } return pool.get(); } |