From 212f17c1145bb6978b4797eb9c805f603ecb1f29 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 23 May 2018 12:03:06 +0100 Subject: [PATCH] make.sh: Refactor XZ compression parameters again I completely ruined this now and therefore I had to make it new again: * I split the parameters into smaller chunks now and added comments about why we have chosen those. * I move it all to configure_build() since we do not need to check if the host architecture is 64 bit capable, but the architecture we are building for. Signed-off-by: Michael Tremer --- make.sh | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/make.sh b/make.sh index 703ce0c487..0702716584 100755 --- a/make.sh +++ b/make.sh @@ -225,6 +225,30 @@ configure_build() { MAKETUNING="-j${parallelism}" fi + + # Compression parameters + # We use mode 8 for reasonable memory usage when decompressing + # but with overall good compression + XZ_OPT="-8" + + # We try to use as many cores as possible + XZ_OPT="${XZ_OPT} -T0" + + # We need to limit memory because XZ uses too much when running + # in parallel and it isn't very smart in limiting itself. + # We allow XZ to use up to 70% of all system memory. + local xz_memory=$(( HOST_MEM * 7 / 10 )) + + # XZ memory cannot be larger than 2GB on 32 bit systems + case "${build_arch}" in + i*86|armv*) + if [ ${xz_memory} -gt 2048 ]; then + xz_memory=2048 + fi + ;; + esac + + XZ_OPT="${XZ_OPT} --memory=${xz_memory}MiB" } configure_build_guess() { @@ -861,20 +885,6 @@ fi # Get the amount of memory in this build system HOST_MEM=$(system_memory) -# We compress archives with "xz -8", using all cores and up to 70% of memory -XZ_MEM=$(( HOST_MEM * 7 / 10 )) - -# XZ memory cannot be larger than 2GB on 32 bit systems -case "${HOST_ARCH}" in - i*86|armv*) - if [ ${XZ_MEM} -gt 2048 ]; then - XZ_MEM=2048 - fi - ;; -esac - -XZ_OPT="-T0 -8 --memory=${XZ_MEM}MiB" - if [ -n "${BUILD_ARCH}" ]; then configure_build "${BUILD_ARCH}" else -- 2.39.2