[libvirt] [PATCH] dist: Speed up distribution compression

Ján Tomko jtomko at redhat.com
Fri Jul 1 07:18:34 UTC 2016


On Thu, Jun 30, 2016 at 03:13:58PM +0100, Daniel P. Berrange wrote:
>On Thu, Jun 30, 2016 at 04:10:01PM +0200, Martin Kletzander wrote:
>> This almost reverts b7200d723648.  The size is increased from 11M to 13M
>> and the compression is sped up from 2 minutes to 17 seconds.

At the expense of download and decompression time.

>> The
>> compression level is removed because -9 doesn't allow multiple threads
>> to be spawned.  Effectively speeds up distcheck as well.
>

1) For distcheck, any level over 1 is a waste of time, since we're throwing
it away.

2) For regular libvirt distribution, any time spent compressing results in
greater overall time savings, because the file is downloaded and
decompressed many times.

So, should we keep moderate defaults here, with anyone wantintg to do
1) or 2) properly supplying their own XZ_OPT? Or create a different
set of targets with lower compression settings for development purposes
(e.g. quick-distcheck, quick-rpm).

>ACK, the space saving over .gz is already massive, so 11 vs 13 MB is
>nothing.

> The xz man page recommends against using -9 in general anyway

That is due to the memory constraints, so it transitively recommends
against using libvirt :)

Using -e is recommended to decrease file size by spending more CPU time
at compression time without increasing the requirements for the
decompressor. And a good idea to use when distributing software
tarballs, which is why it is the automake default and it's what
we were using before I touched it in b7200d723648.

>
>>
>> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>> ---
>>  Makefile.am | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/Makefile.am b/Makefile.am
>> index 99ee4763c5cd..50c358c30d2c 100644
>> --- a/Makefile.am
>> +++ b/Makefile.am
>> @@ -22,7 +22,7 @@ GENHTML = genhtml
>>  SUBDIRS = . gnulib/lib include/libvirt src daemon tools docs gnulib/tests \
>>    tests po examples
>>
>> -XZ_OPT ?= -9ev
>> +XZ_OPT ?= -v -T0
>>  export XZ_OPT
>>
>>  ACLOCAL_AMFLAGS = -I m4

NACK
 * this removes -e form the default distribution,
   which is worse than what we had before b7200d723648

and unsafe for the freeze
 * slow 'make distcheck' is not a user-visible bug.

Jan




More information about the libvir-list mailing list