Package: xz-utils Version: 5.1.1alpha+20120614-2.1 Followup-For: Bug #777267
Things that would be nice to have in packaged version that have been added in the last 4 years to upstream: multithreaded compression and general speed improvements. Here is the changelog highlights: Summary of fixes and new features added in the 5.1.x development releases: * liblzma: - Added support for multi-threaded compression. See the lzma_mt structure, lzma_stream_encoder_mt(), and lzma_stream_encoder_mt_memusage() in <lzma/container.h>, lzma_get_progress() in <lzma/base.h>, and lzma_cputhreads() in <lzma/hardware.h> for details. - Made the uses of lzma_allocator const correct. - Added lzma_block_uncomp_encode() to create uncompressed .xz Blocks using LZMA2 uncompressed chunks. - Added support for LZMA_IGNORE_CHECK. - A few speed optimizations were made. - Added support for symbol versioning. It is enabled by default on GNU/Linux, other GNU-based systems, and FreeBSD. - liblzma (not the whole XZ Utils) should now be buildable with MSVC 2013 update 2 or later using windows/config.h. * xz: - Fixed a race condition in the signal handling. It was possible that e.g. the first SIGINT didn't make xz exit if reading or writing blocked and one had bad luck. The fix is non-trivial, so as of writing it is unknown if it will be backported to the v5.0 branch. - Multi-threaded compression can be enabled with the --threads (-T) option. [Fixed: This originally said "decompression".] - New command line options in xz: --single-stream, --block-size=SIZE, --block-list=SIZES, --flush-timeout=TIMEOUT, and --ignore-check. - xz -lvv now shows the minimum xz version that is required to decompress the file. Currently it is 5.0.0 for all supported .xz files except files with empty LZMA2 streams require 5.0.2. * liblzma speed optimizations: - Initialization of a new LZMA1 or LZMA2 encoder has been optimized. (The speed of reinitializing an already-allocated encoder isn't affected.) This helps when compressing many small buffers with lzma_stream_buffer_encode() and other similar situations where an already-allocated encoder state isn't reused. This speed-up is visible in xz too if one compresses many small files one at a time instead running xz once and giving all files as command-line arguments. - Buffer comparisons are now much faster when unaligned access is allowed (configured with --enable-unaligned-access). This speeds up encoding significantly. There is arch-specific code for 32-bit and 64-bit x86 (32-bit needs SSE2 for the best results and there's no run-time CPU detection for now). For other archs there is only generic code which probably isn't as optimal as arch-specific solutions could be. - A few speed optimizations were made to the SHA-256 code. (Note that the builtin SHA-256 code isn't used on all operating systems.) -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (990, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.5.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Init: systemd (via /run/systemd/system) Versions of packages xz-utils depends on: ii libc6 2.22-7 ii liblzma5 5.1.1alpha+20120614-2.1 xz-utils recommends no packages. xz-utils suggests no packages. -- no debconf information