From 54723defbe3d33ec0704c0668fe38df84732bbe4 Mon Sep 17 00:00:00 2001 From: Davis King Date: Wed, 24 Jan 2018 08:02:33 -0500 Subject: [PATCH] Tweaked the way we compute the number of threads to use when building. --- setup.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 73bb96bd9..293730d7b 100644 --- a/setup.py +++ b/setup.py @@ -137,7 +137,7 @@ class CMakeBuild(build_ext): else: cmake_args += ['-DCMAKE_BUILD_TYPE=' + cfg] # Do a parallel build - build_args += ['--', '-j'+str(num_available_cpu_cores(4))] + build_args += ['--', '-j'+str(num_available_cpu_cores(2))] build_folder = os.path.abspath(self.build_temp) @@ -162,9 +162,8 @@ def num_available_cpu_cores(ram_per_build_process_in_gb): try: mem_bytes = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES') mem_gib = mem_bytes/(1024.**3) - # Assume hyperthreading so divide by 2 - num_cores = int(ceil(multiprocessing.cpu_count()/2.0)) - # Require 4gb of ram per build thread. + num_cores = multiprocessing.cpu_count() + # make sure we have enough ram for each build process. mem_cores = int(floor(mem_gib/float(ram_per_build_process_in_gb)+0.5)); # We are limited either by RAM or CPU cores. So pick the limiting amount # and return that.