change rpm compression algorithm to multi threaded xz

Our baseline is CentOS 7, it's safe to switch to xz that is supported there.
Here is my measurement on rpm package build time and package size on a
48 core machine, however 48 cores were never used (8-10 max). Compared to
reference w9.gzdio which was used before the patch.

Compression   Build     Package
method        time %    size %
w9.gzdio      100%      100%
w7T.xzdio      69%       66%
w6T.xzdio      62%       67%
w5T.xzdio      55%       67%
w4T.xzdio      41%       70%
w3T.xzdio      31%       73%
w2T.xzdio      26%       75%
w1T.xzdio      24%       77%

Conclusion: we'd like to optimize rather for the build time, therefore
w1T.xzdio was picked. The package size was still smaller than the reference
size, and the build time was 4x faster (in this measurement 18m16 -> 4m26).
That makes a difference.

Change-Id: Iabb532628d38a2d5091fa41fd08bfee69007d0ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128800
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
This commit is contained in:
Andras Timar
2022-01-23 15:13:03 +01:00
committed by Thorsten Behrens
parent 71a5a94375
commit a244beeed6
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -1193,7 +1193,7 @@ sub set_autoprovreq_in_specfile
close (FINDREQUIRES);
}
$autoreqprovline .= "%define _binary_filedigest_algorithm 1\n%define _binary_payload w9.gzdio\n";
$autoreqprovline .= "%define _binary_filedigest_algorithm 1\n%define _binary_payload w1T.xzdio\n";
for ( my $i = 0; $i <= $#{$changefile}; $i++ )
{
@@ -32,7 +32,7 @@ Conflicts: %pkgprefix-mandriva-menus
BuildArch: noarch
AutoReqProv: no
%define _binary_filedigest_algorithm 1
%define _binary_payload w9.gzdio
%define _binary_payload w1T.xzdio
%define gnome_dir /usr