From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:400c:c0c::244; helo=mail-wr0-x244.google.com; envelope-from=leif.lindholm@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 513E32218E920 for ; Tue, 5 Dec 2017 10:03:46 -0800 (PST) Received: by mail-wr0-x244.google.com with SMTP id z18so1255179wrb.8 for ; Tue, 05 Dec 2017 10:08:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=z80plHIcfmnuJ7HfT/VWcRXE1Lx7PC9DI33apyw7Z0o=; b=AndIk12Hzi4dPoqXqqk05/sVxqhwceEWT6QoxUGbv1xuDvXwBeeSodxGQnJ1JLNRdT G0tjkr4U7PRA9vHCGj0dV5sazhfEh4erHQGpAmLN/kgSUzqVDDpYJ5oH56MbqMUNurlT p0aJ3Ijn9wAz/NtaTzd4G8Gdv4YVQ5l9ZH/iM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=z80plHIcfmnuJ7HfT/VWcRXE1Lx7PC9DI33apyw7Z0o=; b=b4dDyNyNUxEgWcUan2/QFGw2trq5vdfyo4BzPWTeiXj8bem99n6VeuLKV1P5AABCnc wvA0aJpUtDirbs91Wye/BIvCG6SGBRlKUzumYOaGxULp6aZLXa4QXA00r9JbvUaZPWLx 7FEhbLpxB830b9BiCOwZZf4A5OTd+fJoqSIsD4bFwQL8KTo4HuAizF0H6OJ9R+hyJFIw vX59NzHTGK1GnrLOR/jByP64A0Ls959tUgh/AU7M6RsmzteX3hIZ6bBLT9Zy2oj6FDij ji9A8kfWGu0LtJq9HfO0I3+J/agSGZdZXs0VsfMVwrjt1t73f3tdSAntGODB6bEk/zoZ VOGA== X-Gm-Message-State: AJaThX5tiXxkvkAAm5hwzm9IpApkAn7EWf4Cwgyz1Hp8joWoM9BQgbfn fH0upkef8Q9jAezpMnPsJ4j7DnHQ19c= X-Google-Smtp-Source: AGs4zMaqI8FxeVO3MpBaLccgrqzESOEFThTP53WNDYJKzz6xIwdIkAJjNeFVxmh6fXQHcQCHKKGDqg== X-Received: by 10.223.179.215 with SMTP id x23mr16982266wrd.198.1512497296497; Tue, 05 Dec 2017 10:08:16 -0800 (PST) Received: from vanye.hemma.eciton.net (cpc92316-cmbg19-2-0-cust118.5-4.cable.virginm.net. [82.12.0.119]) by smtp.gmail.com with ESMTPSA id v23sm1071296wmh.30.2017.12.05.10.08.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Dec 2017 10:08:15 -0800 (PST) From: Leif Lindholm To: edk2-devel@lists.01.org Cc: Yonghong Zhu , Liming Gao Date: Tue, 5 Dec 2017 18:08:14 +0000 Message-Id: <20171205180814.27267-1-leif.lindholm@linaro.org> X-Mailer: git-send-email 2.11.0 Subject: [PATCH] BaseTools: improve C tools build time with GNU X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Dec 2017 18:03:47 -0000 Commit 9e1131b70b4b ("BaseTools: Update BaseTools top GNUMakefile with the clear dependency") made parallel builds of BaseTools possible. However, the two utilities BrotliCompress and VfrCompile have substantially longer build (and especially link) time than the others - which leads to long waiting times. Build these two tools separately first, in order to reduce build time. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm --- For comparison, this reduces the build time on my x86 machine (8 cores, 16 threads) down from >9s to <3s. On the Cortex-A53 based 24-core SynQuacer platform, it takes the build time down from 1m26s to 20s. BaseTools/Source/C/GNUmakefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/BaseTools/Source/C/GNUmakefile b/BaseTools/Source/C/GNUmakefile index 0dc748267d..b7ddcb5022 100644 --- a/BaseTools/Source/C/GNUmakefile +++ b/BaseTools/Source/C/GNUmakefile @@ -50,9 +50,11 @@ all: makerootdir subdirs LIBRARIES = Common VFRAUTOGEN = VfrCompile/VfrLexer.h # NON_BUILDABLE_APPLICATIONS = GenBootSector BootSectImage -APPLICATIONS = \ +SLOW_APPLICATIONS = \ BrotliCompress \ - VfrCompile \ + VfrCompile + +APPLICATIONS = \ GnuGenBootSector \ BootSectImage \ EfiLdrImage \ @@ -72,7 +74,8 @@ APPLICATIONS = \ SUBDIRS := $(LIBRARIES) $(APPLICATIONS) $(LIBRARIES): $(MAKEROOT)/libs -$(APPLICATIONS): $(LIBRARIES) $(MAKEROOT)/bin $(VFRAUTOGEN) +$(SLOW_APPLICATIONS): $(LIBRARIES) $(MAKEROOT)/bin $(VFRAUTOGEN) +$(APPLICATIONS): $(SLOW_APPLICATIONS) .PHONY: outputdirs makerootdir: -- 2.11.0