Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!zaphod.mps.ohio-state.edu!usc!apple!altos!vsi1!zorch!xanthian From: xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) Newsgroups: comp.sys.amiga Subject: Re: Compressed archive format Keywords: chinese menu Message-ID: <1990Aug28.180026.20641@zorch.SF-Bay.ORG> Date: 28 Aug 90 18:00:26 GMT References: <1990Aug25.180851.4401@zorch.SF-Bay.ORG> <1051@tau.sm.luth.se> Organization: SF Bay Public-Access Unix Lines: 104 d88-mbe@sm.luth.se (Michael Bergman) writes: > xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes: >> We're going through it again, but this time it's worse. >> The .zoo format is being replaced by _two_ formats, .lhw and .lzh, >> (and also by whatever PKAZIP writes, I suppose), but the archive >> executables are not widely distributed, and host computer versions >> (at least here) won't even compile and are several changes behind >> the Amiga versions. > Well, .lhw and .lzh aren't comparable. Lhwarp is only used to compress > whole Amiga disks and is only available under AmigaDOS. Well, that makes it pretty useless for working in the larger context of building archives/swapping stuff across non-Amiga hosts, and I hope folks will stop submitting archives in that format, then. > Lharc > is available for mainframe (UNIX) machines - latest version 1.00 is > 100% compatible with all other versions (including Amiga Lharc) The > source can be downloaded from a usenet archive: comp.sources.misc. > Compiles "as is" under SunOS and BSD 4.3. Well, perhaps, but it is rife with BSDisms (and SunOS is a child of BSD), and won't come close to compiling under (a fairly primitive) SYSV system; it also assumes lots of ANSI C stuff is available, like catenating strings by putting them on separate lines like: "garbage one" "garbage two" that don't work in older C compilers. I put a couple of hours into trying to port it to my current system, and decided I was growing old a lot faster than the code was growing smart, and trashed my work-in-progress. Also, at least the Amiga version is buggy, in that it promises not to store duplicates of the same pathname, but in fact does do so. >> Could some kind soul 1) do a good set of benchmarks to see which is >> the most time/space efficient of the new archivers, and publish it >> here; 2) find and distribute the widely ported source code for the >> host executable; 3) find and distribute the source code and executables >> for the Amiga versions; and, most important, 4) pick _one_ new >> archiver/format we can all agree upon? > Benchmarks have been done. I have them on paper, but not in electronic > format I'm afraid so I can't repost them. Seeing them would be nice; another poster noted that (some) benchmarks exist in the August AmigaWorld, but I'd rather not trust stuff printed in that rag; it's mostly good for the ads. > Because lharc is so slow, the guy who did this concluded that Zip is > the overall most effective algorithm (I *think*) I have the impression Zip is a proprietary format, and also not widely ported to mainframes; is either of those right? If so, that argues against their use. > However, Lharc generally packs better and you can always run it in the > background (as Amiga owners we're all familiar with that, right? :-) Well, I'll give up a _lot_ of time efficiency (like three or four to one) for 5% better packing, since, as you note, I can background and ignore the packing time, but I have to pay for the storage space in cold, hard cash, and I pay for it in perpetuity. > If there really is a demand for these "benchmarks" I can type them in and > post them. Mail me if you want to see them. Or better still, the guy who > did them in the 1st place might read this and repost them :-) Well, you at least are following the conversation, so if no one beats you to reposting them, and you find the time free, I for one would appreciate the effort on your part. > To my knowledge there is no complete zip tool that runs under UNIX or VMS. > There is a BSD unzip though, I think I have the source to that on tape. Bummer. Lots of the stuff I pack up and download is not Amiga specific, it is generic or Unix oriented code that I might like to port "someday". A tool that works across a wide range of platforms, and is available in source code form is a necessity if the current multiplicity of archivers is to be replaced by a single tool. Maybe I'll find time to rip the Huffman code out of lharc and replace it with the more efficient arithmetic encoding, for another 5% gain, if I can ever make sense out of the currently undocumented and uncommented lharc 1.0 sources I have available from comp.sources.misc. I suppose I should descend to a paper copy, since the context on my screen isn't enough to follow the code. Shake a bit of the dust off my printer. Wish I had source for the Amiga version, so I could just drop in the arithmetic encoding I already have working without having to reinvent all the file walking stuff and flag processing. Bleah. Maybe I won't find time, too. > For those of you who want to convert .zoo to .lzh, I include a script written > by me (copy this as you wish and spread it!) Thanks for your comments and for the script, Michael. Kent, the man from xanth.