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:c09::244; helo=mail-wm0-x244.google.com; envelope-from=leif.lindholm@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::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 DCD822218E928 for ; Tue, 5 Dec 2017 10:38:07 -0800 (PST) Received: by mail-wm0-x244.google.com with SMTP id b76so3092767wmg.1 for ; Tue, 05 Dec 2017 10:42:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=V+VCcJfJf/mD/HcKB64aKi45khJOF3GPDlyNI/Chwqc=; b=QGdFDfBiqj+RUw9RRSVZ5IrEfd1WuGQ5Rjciw+27b7kFupTqs4myISiTAqsBWsTAxM 0jDZsnSGemZ1rteZcUzQb+VjlZpgWnKh0dP5XqclJ2l1ELWf4lzzC4V5bRty3uT/3S38 q9wd9/BGWN7040oWDs0XHcFZ3lXuVroeTegOo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=V+VCcJfJf/mD/HcKB64aKi45khJOF3GPDlyNI/Chwqc=; b=rq0HbGcQdKirsdMczDrfI+2dETjwvfFW9B8cI85S+E7nN7hUXZlHO8y7cCUgpzQyis jWvy8ZNLpneShVjCqQLTWP/luVs63yixcnClVb7YbgwIkyqZyYNGJBhQxGoecvXZW/a4 yId49fAVI0ipgWh76fcRUNtr5xvFi7f93AyRybSAHQyZxBUdgYdwCl2EO37sL0f7KGuW GCXf5OfIiPqToENv0rLt1viQYcWseoMIyCsey4uJteyeSUI01a4Cy1HoVbR+lr+2iGpt ZiLbcY5R9GcvBv9+JFM1WnscniEs2sWNoEC3fw0uIFzQuSjN7XtSuzpXaKH4YOlCPhug 8GvQ== X-Gm-Message-State: AKGB3mKz+XKc/TSjo6hsY3OfG6EtI2gBnDuLPcXSwFu5jQbb4s9mnmFL TIyF2ontiNl/LtyyfjwIr3t/eea7ldc= X-Google-Smtp-Source: AGs4zMYFoDUMpHx9+uncUYvayZqGvBP+yVt2AncW8+sTd6sxvZd4YyFx8phmXGYLQ/36FgF8bJ79Ww== X-Received: by 10.28.105.14 with SMTP id e14mr6103445wmc.74.1512499356794; Tue, 05 Dec 2017 10:42:36 -0800 (PST) Received: from bivouac.eciton.net (bivouac.eciton.net. [2a00:1098:0:86:1000:23:0:2]) by smtp.gmail.com with ESMTPSA id b16sm917988wrd.69.2017.12.05.10.42.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 05 Dec 2017 10:42:35 -0800 (PST) Date: Tue, 5 Dec 2017 18:42:34 +0000 From: Leif Lindholm To: edk2-devel@lists.01.org Cc: Yonghong Zhu , Liming Gao Message-ID: <20171205184233.yarnpyfzdxjkalwh@bivouac.eciton.net> References: <20171205180814.27267-1-leif.lindholm@linaro.org> MIME-Version: 1.0 In-Reply-To: <20171205180814.27267-1-leif.lindholm@linaro.org> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [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:38:08 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hah, no ignore this. I managed to not make it build the slow tools... Back to the drawing board. On Tue, Dec 05, 2017 at 06:08:14PM +0000, Leif Lindholm wrote: > 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 >