From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Beraldo Leal" <bleal@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Yonggang Luo" <luoyonggang@gmail.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>
Subject: [PATCH 0/8] gitlab: speed up msys windows jobs with GCC
Date: Tue, 1 Aug 2023 14:03:55 +0100 [thread overview]
Message-ID: <20230801130403.164060-1-berrange@redhat.com> (raw)
This is an alternative and/or complementary to Thomas' proposal
to use CLang with msys:
https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg05402.html
First of all, the current msys installer we're using is over 12
months out of date. Thus after running the install, pacman then
replaces most of what we've just installed with new downloaded
content. Using the most update installer cuts 3+1/2 minutes off
the msys install time - 7 minutes becomes 3+1/2.
Secondly, QEMU defaults to compiling with -O2 and this is more
computationally expensive for GCC. Switching to -O0 drops the
build time from 60 minutes down to 45 minutes.
Thirdly, including debug symbols also has an overhead, and turning
that off reduces time still further down to 38 minutes.
IOW, between all three changes, we can cut approx 25-26 minutes
off the job execution time, bringing it nicely within the job
timeout.
The actually phase of installing the mingw deps still accounts
for about 10 minutes and has not been optimized.
Possibly the same trick of -O0 and skipping -g would also help
the clang alternative Thomas' proposed. If so, that could be
enough to let us enable more features / targets during the
msys build.
Daniel P. Berrangé (8):
gitlab: remove duplication between msys jobs
gitlab: print timestamps during windows msys jobs
gitlab: always use updated msys installer
gitlab: drop $CI_PROJECT_DIR from cache path
gitlab: always populate cache for windows msys jobs
configure: support passthrough of -Dxxx args to meson
gitlab: disable optimization and debug symbols in msys build
gitlab: disable FF_SCRIPT_SECTIONS on msys jobs
.gitlab-ci.d/windows.yml | 174 +++++++++++++++++++--------------------
configure | 5 ++
2 files changed, 92 insertions(+), 87 deletions(-)
--
2.41.0
next reply other threads:[~2023-08-01 13:05 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-01 13:03 Daniel P. Berrangé [this message]
2023-08-01 13:03 ` [PATCH 1/8] gitlab: remove duplication between msys jobs Daniel P. Berrangé
2023-08-01 18:36 ` Thomas Huth
2023-08-01 13:03 ` [PATCH 2/8] gitlab: print timestamps during windows " Daniel P. Berrangé
2023-08-01 18:38 ` Thomas Huth
2023-08-01 13:03 ` [PATCH 3/8] gitlab: always use updated msys installer Daniel P. Berrangé
2023-08-02 15:49 ` Thomas Huth
2023-08-03 11:16 ` Daniel P. Berrangé
2023-08-01 13:03 ` [PATCH 4/8] gitlab: drop $CI_PROJECT_DIR from cache path Daniel P. Berrangé
2023-08-02 15:50 ` Thomas Huth
2023-08-01 13:04 ` [PATCH 5/8] gitlab: always populate cache for windows msys jobs Daniel P. Berrangé
2023-08-02 15:50 ` Thomas Huth
2023-08-01 13:04 ` [PATCH 6/8] configure: support passthrough of -Dxxx args to meson Daniel P. Berrangé
2023-08-01 18:42 ` Thomas Huth
2023-08-01 19:07 ` Daniel P. Berrangé
2023-08-01 13:04 ` [PATCH 7/8] gitlab: disable optimization and debug symbols in msys build Daniel P. Berrangé
2023-08-01 18:44 ` Thomas Huth
2023-08-01 19:07 ` Daniel P. Berrangé
2023-08-01 13:04 ` [PATCH 8/8] gitlab: disable FF_SCRIPT_SECTIONS on msys jobs Daniel P. Berrangé
2023-08-01 18:44 ` Thomas Huth
2023-08-01 13:53 ` [PATCH 0/8] gitlab: speed up msys windows jobs with GCC Markus Armbruster
2023-08-01 14:35 ` Daniel P. Berrangé
2023-08-01 18:21 ` Thomas Huth
2023-08-01 18:46 ` Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230801130403.164060-1-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=bleal@redhat.com \
--cc=luoyonggang@gmail.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).