Share

7-Zip

The forum address has changed, you have been automatically redirected. Please update any bookmarks to use the new URL.

Subscribe

Highest practical compression

  1. nobody

    2006-10-12 20:44:09 UTC
    I know that there are programs such as PAQ and clones such as WInRK, KGB etc which have amazing compression but take far too long when compressing/decompressing to be of any practical use.

    My question is; which archiver do you think gives the highest practical compression?

    Do you think it is UHARC or 7-Zip perhaps?
  2. nobody

    2006-10-12 20:52:24 UTC
    Both!

    I use them both regulary.

    But to go longer then that, no.
  3. nobody

    2006-10-12 23:42:45 UTC
    Winrar
  4. 2006-10-13 13:00:08 UTC
    7-Zip is the most practical for now, because it has both good compression ratio, compression speed, and excellent decompression speed. It's open-source, and implemented in most compressors, on most platforms.

    PPMd is slower and the archive format is unknown by most archivers, so avoid it, even it's the algorithm is amazing. If it's only for you, It often beats 7-Zip and is open-source too, so it could still be a good choice. Zip PPMd variant is the same, but the format will probably be supported by more archivers soon.

    UHArc is excellent, but it's closed source and very few compressors are able to open UHA archives. So avoid it, except if it's only for your own usage.

    Durilca is excellent, but slower, closed-source (AFAIK), and DUR archives are unknown by most compressors. So avoid it, except if it's only for your own usage.

    Winrar is pretty efficient, but it's not the best. It's both closed source and commercial. Avoid it !

    Winace is pretty efficient, but it's not the best. It's both closed source and commercial. Avoid it !

    WinRK is both extremly efficient and fast, but is closed-source (with no free decompressor) and commercial. No other archiver is able to open RK archives. Avoid it !

    BZip2 compresses well, but is slower for decompression than 7-Zip. It's open-source, well-documented and implemented by most archivers. Zip in mode BZip2 has the same advantages. In most cases, 7-Zip is better than BZip2 for all criteria (except, of course, for documentation).

    For multimedia compression, you can also try UHIC (pictures, closed source), BMF (pictures, open-source), Monkey's Audio (audio, closed source), FLAC (audio, open-source).
  5. nobody

    2006-10-13 13:19:27 UTC
    Probably WinRK with Rolz2 or 3 is the best compression while still maintaining a practical speed and asymmetric decompression. But 7-zip is quite a bit faster, so you may consider it "more practical".
  6. nobody

    2006-10-13 13:55:52 UTC
    >> UHArc is excellent, but it's closed source and very few compressors are able to open UHA archives. So avoid it, except if it's only for your own usage. <<

    https://lagring.storegate.se/user/Share.aspx?id=b742100c-e2f4-4f76-bffb-c2522ee4262a

    ;)
  7. 2006-10-13 14:06:59 UTC
    >https://lagring.storegate.se/user/Share.aspx?id=b742100c-e2f4-4f76-bffb-c2522ee4262a

    Test.exe ?

    What is it ? A virus ?
  8. nobody

    2006-10-13 14:23:03 UTC
    He he

    No, it's a SFX Uharc archive.
  9. nobody

    2006-10-13 14:32:17 UTC
    If it was a virus it would be a very inefficient one, on 18 MB, he he. The world biggest and (most inefficient) virus ever made.

    Well, it COULD be a beginners first try.......

    Nothing to even think of to send via e-mail.

    :P

    Christer
  10. 2006-10-13 15:21:00 UTC
    > it's a SFX Uharc archive.

    Well, I guess you try to make me understand that although UHArc is closed-source and supported by only few archivers, it's still possible to distribute UHA archives. (I'm I right ?)

    The fact is that SFX are not recommended for large distribution. I will never start a SFX, as it's a program like another, I mean it may be a virus.

    Moreover, UHArc 0.6 SFX are only for Win32, so UHA archives cannot be open on other platforms. I'm currently on an Alpha running under OSF1, and have no chance to see what's in your Test.exe...

    7-Zip has not the same problem. There is p7z, and even if there wasn't, there would be the source code available. Same for PPMd for example.
  11. nobody

    2006-10-13 15:27:55 UTC
    >> Well, I guess you try to make me understand that although UHArc is closed-source and supported by only few archivers, it's still possible to distribute UHA archives. (I'm I right ?) <<

    That's right.

    And thanks for explaining.


    Christer

  12. 2006-10-13 17:00:09 UTC

    > Winrar is pretty efficient, but it's not the best. It's both closed source and commercial. Avoid it !

    http://www.rarlab.com sells winrar BUT provides a free open source "unrar" program.

    So, even if rarlab disapears, someone (like Igor in 7-zip) can provide an "unrar" functionality
    on futur machines (CPU/OS).

    For example, Linux or MacOSX users can un-rar but cannot un-ace, un-winrk or un-uharc ...


    So, I think "winrar" does not deserve "avoid it".


    I agree that all closed source programs (free or commercial) shall be avoided !
    Nobody will be able to help you to decompress your archives in your
    Windows 2010 if the closed source program does not run on your new machine/CPU/OS !

    So for your important data avoid uharc,durilca, winace, winrk, ...
  13. nobody

    2006-10-13 17:40:21 UTC
    For completeness sake:
    There is also sitx (StuffIt), closed source and commercial. The tool allows decompression even after end of trial period. Binaries for Mac & Win32, plus Linux/Solaris (but may be out of date).
    Bottom line: Avoid, because even OSX dropped it in favour of ZIP.
  14. nobody

    2006-10-13 19:16:11 UTC
    "So for your important data avoid uharc,durilca, winace, winrk, ... "

    So UHARC and WinRK are to be avoided.

    Thanks for the warning!
  15. nobody

    2006-10-13 19:19:15 UTC
    Only a FOOL would use such crap.
  16. nobody

    2006-10-13 19:20:19 UTC
    You'll better tell Uwe Herklotz that. ;)
  17. nobody

    2006-10-13 19:22:15 UTC
    And Malcolm Taylor. ;)
  18. nobody

    2006-10-13 19:23:04 UTC
    Ha ha ha

    :D

  19. 2006-10-13 19:48:08 UTC
    > Only a FOOL would use such crap.

    The idea is not to say that UHArc or WinRK are bad sofware, what, obviously, is not the case.

    Both are great : UHArc's PPM is one of the best for now, and its multimedia filters are simply amazing. UHArc provides one of the best compression for a practical archiver. Moreover, it's free. The only problems are that 1) UHA is not a very common format 2) It's closed source, so it's little probable that someone will implement this format in his archiver 3) It's not portable

    WinRK's ROLZ and LZ77 are in competition with 7-Zip's LZMA. WinRK's PWCM is simply one of the two best algorithms ever made (but really too slow to be practical). The problems are that 1) RK is almost unknown 2) It's closed source, so it's little probable that someone will implement this format in his archiver 3) It's not portable 4) There isn't any free compressor or decompressor for the RK format

    > http://www.rarlab.com sells winrar BUT provides a free open source "unrar" program.

    Well, I must admit that RAR isn't totally closed. I'm a bit radical and find hard to use algorithms that are hidden. By using RAR format, you force people to (re)implement a decompression algorithm, for a format they are not allowed to produce (as specified in RAR's licence). If find this unfair, but it's only my opinion.
  20. nobody

    2006-10-15 15:23:50 UTC
    UHARC is one of the best archivers ever made. Really. The compression result is usually far better than any other archiver. According to my experience, the archive file size is (average) 10% smaller than one compressed with RAR3-format. As there are many people out there with no idea how to use this command prompt-archiver, I decided to give you a tiny, but comprehensive guide.

    This instruction applies to UHARC 0.4, get it here.. To make the usage easy, save it to your /system32 -folder.


    Usage: UHARC command [-switches..] archive[.uha] [filespec..@listfile..]

    Commands:
    ~~~~~~~~~
    a Create archive/Add files e Extract files to current dir
    m Create archive/Move files x Extract files with full path
    l List files in archive t Test files in archive

    Switches:
    ~~~~~~~~~
    b Set max buffer size o[-,+,p] Set overwrite mode
    d<0..2> Set display mode p<-,r,f> Set path mode
    lg Log output r[-,+] Recurse subdirectories
    m<0..3> Set compression mode t
    Set extract target dir
    md Set dictionary size y[-,+] Set auto-answer mode
    md[-,+] Disable/enable dictionary-based compression
    mm[-,+] Disable/enable built-in multimedia detection/compression


    * For commandline help type "UHARC" without any parameter.

    * The command character must be placed immediately after "UHARC".

    * The switches, if any, must follow the command character. UHARC supports
    the use of either "-" or "/" as the switch option character.

    * The UHARC archive name must be the first filename on the commandline.
    If there is no archive file extension specified, UHARC will add the
    default (".UHA") extension.

    * After the archive filename come the list of files for the given
    operation. One or more files containing a list of files to process
    can also be used by prefixing the list's filename with "@". It's
    possible to mix filenames and list files in any order. Allowed
    delimiters for filenames in list files are space, tab and newline.

    * Filename wildcards are allowed in commandline and in list files,
    but not for archive filename. The use of wildcards follow MS-DOS
    convention. "*.*" means all files. "*.txt" means all files with an
    extension of ".TXT". "?B*.*" means all files with a second character
    of "B".

    * If there are no files specified at all, all files ("*.*") will be
    processed (use "-r" to recurse subdirectories).


    Commands and Switches

    Commands and Switches


    a Create archive and add matching files.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If a file with the archive name already exists, UHARC will ask
    before overwriting this file, unless you change the default
    overwrite mode or use "-y".

    Following switches have effect: -b -d -lg -m -md -mm -o -p -r -y


    e Extract matching files to current directory.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Stored pathnames will be ignored. Using the switch "-t", you can
    change the current directory for extracting.

    Following switches have effect: -b -d -lg -o -t -y


    l List matching files in archive.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Using switch "-y", UHARC will not pause after one page, else you
    can use the following keys:
    ESCAPE = Cancel (quit program)
    TAB = Disable pause
    RETURN = Next line
    other keys = Next page

    Using switch "-d2", filenames are not shortened and more
    information are displayed.

    Following switches have effect: -b -d -lg -y


    m Create archive and move matching files.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If a file with the archive name already exists, UHARC will ask
    before overwriting this file, unless you change the default
    overwrite mode or use "-y". If compression was successful, UHARC
    will delete matching files on disk (but no directories).

    Following switches have effect: -b -d -lg -m -md -mm -o -p -r -y


    t Test integrity of ALL files in archive.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Following switches have effect: -b -d -lg -y


    x Extract matching files with full pathnames.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    UHARC will use the pathnames stored in archive for extraction (if
    the archive was created with option "-pf", this also includes drive
    letters). Using the switch "-t", you can select the root-directory
    for all extracted dirs/files.

    Following switches have effect: -b -d -lg -o -t -y


    Commands and Switches Continued

    Note: During all operations it's possible to terminate the process
    by pressing ESCAPE and answering the following question with
    "Y" (when listing files, there is no additional query).




    -b Set maximum file buffer size (in KB ).
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    After allocating all structures for (de)compression the
    remaining memory is used for file buffers, but never more
    than . The minimum buffer size is 50 KB.

    DEFAULT: -b2048


    -d<0..2> Set display mode.
    ~~~~~~~~~~~~~~~~~
    -d0 Quiet mode (no process information, except queries).
    -d1 Display some process information.
    -d2 Show more information (file info, verbose listing).

    DEFAULT: -d1


    -lg Log UHARC output to specified .
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If UHARC fails to open , no log is created (without an
    error message). The display mode setting has effect on log,
    too.

    DEFAULT: no log file


    -m<0..3> Set compression mode.
    ~~~~~~~~~~~~~~~~~~~~~
    -m0 Store files without compression.
    -m1 Use FAST compression mode.
    -m2 Use NORM compression mode.
    -m3 Use BEST compression mode.

    Mode "-m1" is the fastest mode, sacrificing compression ratio
    to gain better speed. Mode "-m3" achieves best compression and
    needs most time. Mode "-m2" is nearly as good as BEST mode,
    while running at higher speed (best compromise ratio/speed).
    The decompression speed is nearly the same for FAST/NORM/BEST
    modes and is much faster than compression.

    There are also two extra modes (may be not supported in
    future versions):
    -mr Use simple RLE compression.
    -mw Use modified LZW compression with selectable
    dictionary size.

    DEFAULT: -m2


    -md Set maximum dictionary size (in KB ).
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If dictionary is disabled, this setting has no effect.
    Valid sizes:
    -m1..3 n = 1,2,4,8,16,32,64,128,256,512,1024 or 2048
    -mw n = 1,2,4,8,16 or 32

    Dictionary size selection:
    1. Using option "-md", UHARC will never select a
    dictionary size greater than . If "-md" is not
    used, UHARC will try to use maximum dictionary (n=2048).
    2. If data stream size is smaller than , UHARC will use
    the smallest dictionary size which is greater than the
    data stream.
    3. If there is not enough memory for current selection,
    UHARC will use the largest dictionary size which is
    possible with available memory.

    DEFAULT: -md2048


    -md[-,+] Disable/enable dictionary-based compression.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    This has effect only with modes "-m1", "-m2" and "-m3".

    -md[+] Enable dictionary-based compression.
    -md- Disable dictionary-based compression.

    Generally, it's NOT RECOMMENDED to disable dictionary-based
    compression. Without dictionary, the compression ratio is
    almost always worser. But for some data types (e.g. waveform
    sounds or photographic true-color pictures), the compression
    isn't affected much by dictionary. Using "-md-" in such cases
    will speed up the compression process considerably.
    If dictionary-based compression is disabled, there are nearly
    no differences between the three modes.

    DEFAULT: -md+


    -mm[-,+] Disable/enable built-in multimedia detection/compression.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    This has effect only with modes "-m1", "-m2" and "-m3".

    -mm[+] Enable multimedia detection/compression.
    -mm- Disable multimedia detection/compression.

    UHARC multimedia detection/compression supports many data
    types (8/16-bit mono/stereo waveforms, 24-bit true color
    pictures and many other types using 8/16/24/32-bit record
    sizes). It's also possible to detect multimedia-like data
    in other file types (e.g. in executeables). Therefore it's
    NOT RECOMMENDED to disable multimedia detection/compression
    unless the user knows, that there is absolutely no chance
    to use multimedia compression (e.g. compressing text only).

    DEFAULT: -mm+


    -o[-,+,p] Set overwrite mode.
    ~~~~~~~~~~~~~~~~~~~
    -op Prompt user before overwriting files.
    -o[+] Always overwrite files without asking.
    -o- Never overwrite existing files.

    Using -op with -y has the same effect as -o[+].
    If UHARC shows an overwrite query, the user can select one of
    the following options:
    "Y" Yes, overwrite current file.
    "N" No, don't overwrite current file.
    "A" Always Yes, overwrite current file and auto-answer
    all following overwrite queries with "Y".
    "C" Cancel, don't overwrite and quit process.

    DEFAULT: -op


    -p<-,r,f> Set path mode.
    ~~~~~~~~~~~~~~
    -p- Store no paths (exclude paths from names).
    -pr Store relative paths.
    -pf Store full paths including drive letter.

    Using option "-pr", paths are stored in relation with the
    current directory of each drive (drive letter isn't stored).
    With option "-pf" it's possible to backup data from different
    drives into one archive and restore all data correctly.

    DEFAULT: -pr


    -r[-,+] Set subdir recursion mode.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    -r[+] Recurse subdirectories.
    -r- Don't recurse subdirectories.

    If recursion is enabled, matching files are also searched
    in all subdirectories (regardless of directory names and
    attributes) of all specified directories (commandline and
    listfiles).

    DEFAULT: -r-


    -t
    Set extract target directory.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    UHARC will store all extracted files in directory
    .
    If
    doesn't already exist, UHARC will create it.

    Using this option with the "e" command,
    will be the
    'current directory' for extracting. Using this option with
    the "x" command,
    will be the root-directory for all
    extracted dirs/files.

    DEFAULT: not specified


    -y[-,+] Set auto-answer mode.
    ~~~~~~~~~~~~~~~~~~~~~

    -y[+] Assume YES on all queries.
    -y- Don't auto-answer queries.

    Using the option -y[+], all queries, except critical error
    messages, don't appear on screen and are auto-answered
    with "Y".

    DEFAULT: -y-


    Conclusion

    Example:


    In this example, I created a CD-image of BeOS R4.5 with CloneCD, creating a cue-sheet. Command line says "uharc a -d2 -m3 -p- archivename filestakentoarchive"

    In other words,
    * uharc is in the "system32"-folder, so I can use it wherever I want
    * a is for creating the archive
    * d2 is just "bonus", gives you some details more while uncompressing
    * m3 means you use the best compression method. This is a must
    * p- means there won't be any path details added to the archive

    * This example adds four files to one archive called "BeOSR45.uha"
    * Completed succesfully (2976.9 sec) - it took almost an hour with 1800MHz, but as you can see, it was worth it - the packed image is only 52% of the original.


    Extracting the image

    Create a batch-file like the following:

    Quote:
    --------------------------------------------------------------------------------
    @echo off
    cls
    echo unpacking the archive, please wait!
    uharc x -y archivename.uha
    del uharc.exe
    del unpack.bat
    --------------------------------------------------------------------------------

    (save this as "unpack.bat", together with the archive and uharc.exe in the same folder!)

    * x means to extract
    * y means, if there are some questions, all are answered "yes" like overwrite etc - this is an optional switch..

    Try it yourself!
  21. nobody

    2006-10-15 15:29:33 UTC
    UHARC. Better compression than 7zip. Compressed a folder containing 571 MBytes of 790 cab files. 7zip compressed it into 113 MBytes, whereas, UHARC compressed it to 81 MBytes. 7zip reduced/compressed 80% of the original collection/files. UHArc reduced 85%.
  22. nobody

    2006-10-15 15:42:35 UTC
    UHARC really show it's strenght when compressing multimedia files AND when using PPM which seems to have been improved pretty much in 0.6

    When compressing BMP files for exemple, not much will give better results.

    I compressed 326 MB of BMP files down to 19.5 MB.
  23. 2006-10-15 16:33:22 UTC
    >UHARC really show it's strenght when compressing multimedia files AND when using PPM which seems to have been improved pretty much in 0.6

    >When compressing BMP files for exemple, not much will give better results

    UHIC (also by Uwe Herklotz) usally compresses pictures much better than UHArc does. Benchmarks on the internet don't class it at first place, but I found it compressing better than BMF, PAQ, WinRK... being far faster than them.

    7-Zip has no multimedia filter, so it compresses less. Even my own compressor (BigCrunch) compresses BMPs better than it while requiring about 100 times less memory (for compression), and I'm not really a specialist.
    Just imagine 7-Zip 5 with multimedia filters... UHArc will probably be out :P
  24. nobody

    2006-10-15 17:04:25 UTC
    "Even my own compressor (BigCrunch) compresses BMPs better "

    Is there a public release of your compressor?
  25. nobody

    2006-10-15 17:04:36 UTC
    7zip with multimedia filters would be great. :)

    UHIC is a great compressor for picture files but what makes UHARC so great is that you will not find even one filetype that UHARC is bad at. I have never seen such complete packer as UHARC and i guess it's pretty much thanks to it's multimedia filters. Even if UHARC is beaten by some other packer, it will never be far behind.

    The concept for a complete packer seems to be a strong compression algorithm (like 7zip) backed up with some excellent multimedia filters. If you're about to get better results then UHARC you have to deal with "useless" packers like PAQ or similar.

    Multimedia filters for 7zip would make a great packer even better.
< Previous | 1 | 2 | 3 | 4 | Next >

Add a Reply

This forum does not allow anonymous participation.

Log in to add a reply. Not registered? Create an account to participate and receive email updates when replies are posted to this topic.