diff --git a/BUGS b/BUGS index 2234a05..68ef302 100644 --- a/BUGS +++ b/BUGS @@ -1,3 +1,5 @@ -BUGME May 2010 +BUGME November 2010 + +Fails on mac osx : needs unnamed semaphores converted to named to work. Last +working version 0.530. -Nil known. diff --git a/ChangeLog b/ChangeLog index dddf06d..a2572c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,11 @@ lrzip ChangeLog +NOVEMBER 2010, version 0.543 Con Kolivas +* Fix for when there are multiple stream 0 entries per chunk, which would +cause a failure on decompression. +* Fix lzma windows being set far too small by mistake at all times. +* Decrease nice level of main process compared to back end threads as it tends +to be the rate limiting step. + NOVEMBER 2010, version 0.542 Con Kolivas * Choose sane defaults for memory usage since linux ludicriously overcommits. * Use sliding mmap for any compression windows greater than 2/3 ram. diff --git a/TODO b/TODO index a45cd75..aaf9e69 100644 --- a/TODO +++ b/TODO @@ -24,3 +24,6 @@ Make stdin on decompression work without a temporary file. Make testing file integrity work without a temporary file. Fix darwin build since it doesn't support unnamed semamphores. + +Parallelise compression further by moving into next stream while backend +threads still continue on earlier stream. diff --git a/WHATS-NEW b/WHATS-NEW index 8603a11..e55b761 100644 --- a/WHATS-NEW +++ b/WHATS-NEW @@ -1,3 +1,12 @@ +lrzip-0.543 + +A fix for when large files being decompressed fail with multithreaded +decompression. +Slight speedup on multithreaded workloads by decreasing the nice value of the +main process compared to the back end threads as it tends to be the rate +limiting component. +Fixed lzma compression windows being set way too small by default. + lrzip-0.542 Lrzip will now try to select sane defaults for memory usage in cases where the diff --git a/configure b/configure index 224fa25..4a419c6 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.67 for lrzip 0.542. +# Generated by GNU Autoconf 2.67 for lrzip 0.543. # # Report bugs to . # @@ -551,9 +551,9 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='lrzip' -PACKAGE_TARNAME='lrzip-0.542' -PACKAGE_VERSION='0.542' -PACKAGE_STRING='lrzip 0.542' +PACKAGE_TARNAME='lrzip-0.543' +PACKAGE_VERSION='0.543' +PACKAGE_STRING='lrzip 0.543' PACKAGE_BUGREPORT='kernel@kolivas.org' PACKAGE_URL='' @@ -1221,7 +1221,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures lrzip 0.542 to adapt to many kinds of systems. +\`configure' configures lrzip 0.543 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1269,7 +1269,7 @@ Fine tuning of the installation directories: --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/lrzip-0.542] + --docdir=DIR documentation root [DATAROOTDIR/doc/lrzip-0.543] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1286,7 +1286,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of lrzip 0.542:";; + short | recursive ) echo "Configuration of lrzip 0.543:";; esac cat <<\_ACEOF @@ -1375,7 +1375,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -lrzip configure 0.542 +lrzip configure 0.543 generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2014,7 +2014,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by lrzip $as_me 0.542, which was +It was created by lrzip $as_me 0.543, which was generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -5324,7 +5324,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by lrzip $as_me 0.542, which was +This file was extended by lrzip $as_me 0.543, which was generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5386,7 +5386,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -lrzip config.status 0.542 +lrzip config.status 0.543 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 774ee8d..ad66ab8 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([lrzip],[0.542],[kernel@kolivas.org],[lrzip-0.542]) +AC_INIT([lrzip],[0.543],[kernel@kolivas.org],[lrzip-0.543]) AC_CONFIG_HEADER(config.h) # see what our system is! AC_CANONICAL_HOST diff --git a/rzip.h b/rzip.h index 4f4448a..8d3aab0 100644 --- a/rzip.h +++ b/rzip.h @@ -19,7 +19,7 @@ #define LRZIP_MAJOR_VERSION 0 #define LRZIP_MINOR_VERSION 5 -#define LRZIP_MINOR_SUBVERSION 42 +#define LRZIP_MINOR_SUBVERSION 43 #define NUM_STREAMS 2 diff --git a/stream.c b/stream.c index c3635af..cf6fe17 100644 --- a/stream.c +++ b/stream.c @@ -645,7 +645,6 @@ static int seekto(struct stream_info *sinfo, i64 pos) } static pthread_t *threads; -extern const i64 two_gig; /* open a set of output streams, compressing with the given compression level and algorithm */