From ee3fc61a48975c90b72cc4089b4f0e47495c1345 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sun, 19 Dec 2010 20:10:22 +0000 Subject: [PATCH] Use more than one core in deployment script. Try to detect the number of cores in the system and use that value for make -j. Gives a noticable speedup depending on the system (OS X doesn't seem to benefit from it). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28859 a1c6a512-1295-4272-9138-f99709370657 --- utils/common/deploy.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/utils/common/deploy.py b/utils/common/deploy.py index fd1dcb4125..5d66072a4b 100755 --- a/utils/common/deploy.py +++ b/utils/common/deploy.py @@ -59,6 +59,13 @@ except ImportError: print "Fatal: This script requires the which package to run." print " See http://code.google.com/p/which/." sys.exit(-5) +cpus = 1 +try: + import multiprocessing + cpus = multiprocessing.cpu_count() + print "Info: %s cores found." % cpus +except ImportError: + print "Warning: multiprocessing module not found. Assuming 1 core." # == Global stuff == # Windows nees some special treatment. Differentiate between program name @@ -223,7 +230,11 @@ def qmake(qmake="qmake", projfile=project, wd=".", static=True): def build(wd="."): # make print "Building ..." - output = subprocess.Popen([make], stdout=subprocess.PIPE, cwd=wd) + command = [make] + if cpus > 1: + command.append("-j") + command.append(str(cpus)) + output = subprocess.Popen(command, stdout=subprocess.PIPE, cwd=wd) while True: c = output.stdout.readline() sys.stdout.write(".")