CFOG's PIP, June 1988, Volume 7 No. 4, Whole No. 66, page 58

MS-DOS Archiving Utilities Compared

by Steve Lucius

In the CFOG MS-DOS library and on the CFOG RCP/M are several different programs that compress and uncompress files. Many of these programs also gather multiple files together into a single file, called an ARC, ARK, or LBR file. Many people consider these programs and the resultant combined files a mystery or a nuisance, part of the mystique of using software from a bulletin board or from the club library. This article will attempt to review some of the most popular ones.

All of these programs share several characteristics. They allows multiple files to be stored under the same directory entry, which saves space if the files are small and keeps all files on a given topic together. They also achieve data compression by several methods of encoding the text or data in the file. On CP/M systems and older MS-DOS the two methods used are called squeezing and crunching. MS-DOS archiving utilities use these methods and a newer method called squashing. In addition, they test each file to be compressed to determine whether squeezing, crunching, or squashing a particular file will yield the greatest saving

[CP/M users also have separate crunch and uncrunch utilities. So far as I have seen and heard there are no programs for MS-DOS that simply crunch a single file without making an archive. An uncrunch utility does exist for MS-DOS. -- bhc]

ARCHIVE521
is the standard for this type of program. It supports most file compression methods, can be used to archive and unarchive and works from the DOS command line, which doesn't make it very friendly for new users.

PKARC
is the challenger for the standard. It supports more file compression methods, can be used to archive only and works from the command line. It supports a method called squashing that is not supported by ARC521. A separate program PKXARC is used to extract files from archives, or unarchive. Version 36 is the latest for both of these programs. Since it was just recently release it will be compared with version 35 below.

ARCMASTER
is a shell for the above programs for people who don't like to use the DOS command line.

ARCA122
is another command line archiving program, that has a companion unarchiver called ARCE31. ARCA does not support squashing, but ARCE does support unsquashing. There is also a program for 80286 machines which will not be tested for this article. All these programs run from the command line.

NARC21
is a friendly menu driven program for unarchiving that (as you will see below) does not perform well compared to most of the command line programs. It supports all methods of compression and has an excellent discussion in the documentaion on compression methods. Do not trust older versions of NARC such as 20 (which is very buggy).

NSWP1019
is a somewhat friendly file handling program that can also unarchive files made with ARC521 and ARCA, but not those made with PKARC. It can do file squeezing and unsqeezing. There is a newer version of NSWP out called NSWP1020 but it is buggy and supports no more archive formats.

Performance Tests

I wanted to compare these programs as I use them in making disks for CFOG and also at work in handling files for a computerized alarm system based on a Compac XT clone using an 8086 processor.

The machine I used for this test is an XT clone with 30 meg hard drive with access time about 65 msec. This setup is faster than an XT but slower that even an old AT. I believe that the times and even file sizes may change on an AT as I ran parts of the comparison a year ago on an AT clone and some results were different

I ran the following tests:

(1) compacting 582k of miscellaneous files so they would fit on 1 360k disk, simulating making a CFOG library disk. The time that this took and the size of the final file was compared.

(2) unpacking an archive made using ARC521 to simulate someone using the library disk.

(3) compacting an ASCII text file from one of my office alarm computers to compare speed and final file sizes. The older squeezing method was also used on this test using NSWP1019.

Test Results From Archive Comparisons

Packing Data

Collection of .COM, .EXE, and .DBF files. Original file size 582,312 compressed to fit one 360k disk.

Program Time to
Compress
Compressed
Size
Percent
Compression
ARCA122 3:32 306,846 47.31%
ARC521 12:48 305,345 47.56%
PKARC35 1:40 289,467 50.29%
PKARC36 1:23 291,917 49.87%

Unpacking Data

Collection of .COM, .EXE, and .DBF files. Final file size 582,315.

Program Time to
Unpack
ARCE31 1:42
ARC521 7:37
PKARC35 1:13
PKARC36 1:10
NSWP1019 2:45
NARC21 3:17

Packing Data

ASCII Text File With Alarm System Data. Original file size 238,432.

Program Time to
Compress
Compressed
Size
Percent
Compression
ARCA122 1:07 62,438 73.81%
ARC521 4:28 68,158 71.41%
PKARC35 0:32 57,938 75.70%
PKARC36 0:27 57,721 75.79%
NSWP1019 2:10 125,371 47.42%

Note: NSWP squeezes rather than crunching or squashing.

Summary

Clearly the PKARC series comes out on top for speed and packing ability. For myself I intend to retire ARC521 and use ARCA122 for making club disks and PKARC is coming into the office. Of the two programs for unarchiving that were not command line driven NSWP1019 was faster but supported fewer formats so NARC21 wins out.