Classic Computer Magazine Archive COMPUTE! ISSUE 133 / SEPTEMBER 1991 / PAGE 82

Stacker. (data compression program) (evaluation)
by Clifton Karnes

Face it: Your hard disk is too small. If you have a 40MB drive, you need a 60. If you're spinning a 60, you'd be better off with an 80. And on and on, ad infinitum.

As a case in point, I recently acquired a new computer with a 60MB drive, but before a month was out, I was spending every free moment trying to decide what to kick off the disk to make room for something else. This is no way to live, I told myself.

Until recently, a larger hard disk was the only way to garner more magnetic real estate. But Stacker, a hardware-software combo from Stac Electronics, changes all that. With it, you can literally double the capacity of your hard disk without paying a performance penalty. How is this possible? In a word, compression.

Stacker is a device driver with an optional coprocessor board that stores data on your hard disk in a compressed form. When you want to write something to disk, Stacker compresses the data before it's written. When you need to access the data again, Stacker decompresses the information and sends it to you.

Compression may sound complicated and dangerous, but Stacker works flawlessly and nearly transparently. In fact, if you're using an RLL controller (and almost everyone with a 40MB or larger drive is), your data is being compressed at the bit level already. Mainframes have been using RLL compression technology for years with no ill effects. So compression is OK as long as it is 100-percent reliable, and Stacker is.

Installing Stacker isn't difficult, but the more you know about your PC, the easier it will be. As I mentioned earlier, Stacker comes in two versions. One version uses a software driver coupled with a coprocessor board. The other version uses a software driver alone. The coprocessor board offers faster performance and much better compression, so it's the choice if you have a machine with an open slot. The coprocessor version also uses less conventional memory--21K RAM as opposed to 30K for the software-only Stacker.

To install the coprocessor version, you place the board in any available slot and run Install. For the software version, you simply run Install. The installation program creates a Stacker volume on your current hard disk that will hold your compressed files. For example, if you have one hard disk labeled drive C, Stacker will create a drive D to store its compressed files. Your system will see drive D as another hard disk, but in reality, drive D is a single large file on your C drive.

Getting back to the installation, the first thing the setup program asks you for is a base address in upper memory to use for your coprocessor card. The program supplies a default (CCOO), which should work in most cases. Next, the program asks you for a size to use for Stacker's disk cache. If you want to use your own cache, you can specify a size of 0. Next, Stacker asks how much space you want to dedicate to your new Stacker volume. After that, you can exercise the option to have the program transfer all the files on your current disk to the Stacker disk, compressing them in the process. By default, Stacker leaves 1MB of disk space on the non-Stacker volume. You can specify more if you choose.

On a 60MB disk, Stacker took about 25 minutes to compress 50MB of files. When the installation was finished, I had a 120MB hard disk with about 70MB free. Not bad.

If you're running Microsoft Windows, Stacker will work without a hitch, but you do need to go through a few extra steps to install it correctly. First, if you're using a permanent swap file, you'll need to delete it before you run the installation program. Then, when you're asked how much space to leave on your non-Stacker volume, leave enough room to re-create your swap file later. If you normally use a 4MB swap file, for example, you'll want to leave 4MB plus an extra megabyte on the drive: 5MB in all. After the Stacker installation is finished, you can rebuild your swap file on the non-Stacker volume. The only other thing you need to do is tell Windows about your Stacker coprocessor. You do this by adding the line emmexclude=ccOO-cfff in the 386Enh section of your SYSTEM.INI file.

One thing that may worry you a little about this whole business is the fact that you're depending on this coprocessor board to access all your data. What happens if it goes bad? Here, there's nothing to worry about. If for any reason the board stops working, the program defaults to the software-only version, which handles everything itself. I tested this by removing the coprocessor card and found that my system worked fine, though a little more slowly.

You can use all your usual disk utilities on the Stacker volume. If you accidentally delete a file, your undelete program should work fine. If you use Spinrite or another low-level disk diagnostic program, Stacker won't give it a moment's pause. And programs like The Norton Disk Doctor will examine your Stacker volume and treat it just like any other hard disk.

The only exception is that you can't run a defragmenting program on a Stacker volume. Because of the way Stacker organizes files, you could actually increase the volume's fragmentation. This means there's no way to defragment your Stacker volume, except by backing everything up and restoring it. Stac realizes that this is a weakness with the system, and it is planning to include its own defragmenting program with future versions.

Now we're at the bottom line, and the two bottom-line questions are, How much compression will I get? and How much will my system slow down? On my 60MB hard disk, I received an overal compression ratio of 2:1 using the coprocessor version. This means I doubled the capacity of my hard disk, from 60MB to 120MB.

As far as performance goes, I ran a large number of benchmarks comparing my Stacker and non-Stacker volumes and found some surprising results. Using a set of database benchmarks that read and write sequential and random records, I found overall performance of Stacker and non-Stacker volumes using the coprocessor to be nearly identical. When reading and writing sequential information, Stacker is faster than my native hard disk. When reading and writing random information, it is slower. As I mentioned, this all averages out.

I also tested Stacker and non-Stacker volumes without the coprocessor card, and here, the non-Stacker volume was about 18-percent faster than the software-only version of Stacker.

With Stacker and its coprocessor board, my system feels the same as it did before I installed Stacker. Even with Windows, which is probably the most disk-intensive program on the planet, I haven't noticed any performance degradation.

If you're thinking about buying Stacker, there isn't much to decide. The system is so fast and transparent, you'll immediately reap the reward of a much larger hard disk and soon forget you're using it. You do need to take into account, however, the size of your current hard disk and how much you'll gain by installing Stacker.

The larger your current hard disk, the more you'll get from Stacker. If you have a 20MB disk, Stacker can turn it into a 40, but for what Stacker costs, you could buy a new 40MB hard drive. With a 40MB disk, however, Stacker will pay for itself, and with anything larger than 40MB, Stacker will give you the most cost-effective increase in disk capacity you'll find anywhere. To increase your hard drive's capacity, you just can't go wrong with Stacker.