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
This commit is contained in:
parent
8205e54abd
commit
ee3fc61a48
1 changed files with 12 additions and 1 deletions
|
@ -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(".")
|
||||
|
|
Loading…
Reference in a new issue