[Boost-bugs] [Boost C++ Libraries] #7848: [enhancement] supply download tarballs as tar.xz instead of .bz2

Subject: [Boost-bugs] [Boost C++ Libraries] #7848: [enhancement] supply download tarballs as tar.xz instead of .bz2
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-01-04 11:46:35


#7848: [enhancement] supply download tarballs as tar.xz instead of .bz2
----------------------------+-----------------------------------------------
 Reporter: anonymous | Type: Feature Requests
   Status: new | Milestone: To Be Determined
Component: Building Boost | Version: Boost 1.52.0
 Severity: Problem | Keywords: bzip2 xz gz gzip bz2
----------------------------+-----------------------------------------------
 you already have .gz tarballs, which is perfect for systems that don't yet
 support .xz (which at this time are little, any linux system i know
 supports it and probably even current macOS X releases)

 so the only reason for supplying bzip2 downloads must be for smaller
 storage/download time requirements.

 however, xz packs a lot better than bzip2, and bzip2 is a very slow
 (highly CPU-bound) to unpack algorithm.

 on average, extracting .xz is about 3.5 times faster than bzip2.

 /dev/shm $ time tar xf boost_1_52_0.tar.bz2

 real 0m10.939s
 user 0m10.747s
 sys 0m1.390s
 /dev/shm $ tar cJf boost_1_52_0.tar.xz boost_1_52_0
 boost_1_52_0/ boost_1_52_0.tar.bz2
 /dev/shm $ time tar cJf boost_1_52_0.tar.xz boost_1_52_0

 real 2m12.790s
 user 2m10.255s
 sys 0m3.822s
 /dev/shm $ rm -rf boost_1_52_0
 /dev/shm $ time tar xf boost_1_52_0.tar.xz

 real 0m4.940s
 user 0m4.762s
 sys 0m1.232s
 /dev/shm $ la boost_1_52_0.tar.xz
 -rw-r--r-- 1 user users 47673912 Jan 4 10:17 boost_1_52_0.tar.xz
 /dev/shm $ la boost_1_52_0.tar.bz2
 -rw-r--r-- 1 user users 54421709 Jan 4 10:14 boost_1_52_0.tar.bz2

 this testing was done on a high-end 3.1 GHZ machine, and here the
 difference is that xz is more than 2 times faster, and the tarball 7 MB
 smaller.
 when using 2 distinct steps to create the .xz archive and invoking the xz
 compressor with -E (extreme), makes the tarball even smaller.

 i also build software regularly on mips and arm platforms in qemu.
 as an example, untarring the linux kernel sources provides as .bzip2 takes
 roughly 2 hours, but untarring the .xz archive "only" 30 minutes.

 so imo it makes much sense to deprecate .bz2 downloads and replace them
 with .xz.
 the .gz files need to stay in order to have a fallback for outdated
 platforms.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7848>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC