THE DDJ DATA COMPRESSION CONTEST

Here's your chance for fame and fortune

This article contains the following executables: CONTEST.ARC

It wasn't that long ago that the only barrier between programmers and killer applications was the want of a faster PC with a bigger hard disk and more memory. Not an unreasonable desire, especially considering that cutting-edge was defined as 256 Kbytes of RAM, two floppy disk drives, and 4.77 MHz CPUs. To offset this dearth of hardware, programmers dipped into their bag of tricks for every imaginable gimmick to efficiently move data from one place to another -- and to store it, once it got where it was going. Foremost among these gimmicks was data compression.

Today, 33-MHz 80386 PCs with 80-Mbyte hard disks and 8 Mbytes of memory are common and (well, sort of) affordable. But with bigger and bigger programs devouring more and more system resources, the need for data compression hasn't disappeared; if anything, it has escalated. It's commonplace for a program to require a multitude of distribution diskettes, making the convenience and economic good sense of data compression more relevant than ever before.

As far back as Graham Jenkins's "A General Purpose Data Compression Program" in September of 1979, DDJ readers have consistently held data compression to be one of the most exciting topics we examine.

This abiding fascination leads us to this month's special project, the "DDJ Data Compression Contest," a competition designed to allow you to show off your programming prowess and help other programmers decide which data compression approach is best for a particular problem.

The Rules

The contest rules are simple. It's open to any individual or organization. The only requirement is that each entry must include source code for the compression technique. Sorry, off-the-shelf commercial compression programs aren't eligible.

Each entry must be submitted in both source and executable format, along with instructions on how to build the executable from the source. Entries can either be mailed in on 5.25-inch or 3.5-inch diskettes, or uploaded to the DDJ Data Compression Contest section on M&T's Telepath or the DDJ Forum on CompuServe. (A special data library has been set up for the contest.) Special entry forms, which must be completed, are available online and through the DDJ editorial offices. All entries must be postmarked no later than May 1, 1991.

We'll use the executable program you provide as your entrant, but we must be able to successfully compile and link your source code. The output of our compiled program should be identical to the output of the program you submit. We will do our best to accommodate anyone who can submit only source.

Putting It to the Test

The test data will consist of three different types of input files, each approximately 2 Mbytes in size: ASCII text files, executable data, and graphics images. The graphics files will use 8-bit pixels. Mail us a blank, formatted diskette, and we'll mail it back to you with the sample files on it. Alternatively, you can download the test files from CompuServe or Telepath.

The compression programs will be tested on a 25-MHz 80386 PC generously provided for the contest by Everex Systems. This machine has 8 Mbytes of 32-bit memory and a 128-Kbyte cache, and will be able to test entries under either MS-DOS 3.3 or Unix System V 3.2. Entries running under MS-DOS can use up to 6 Mbytes of either EMS or Extended memory. (If your program needs a machine more powerful than this, you probably shouldn't consider your approach a "general-purpose" implementation.)

We'll select winners in the following categories:

Mark Nelson, a frequent DDJ contributor and programmer for Greenleaf Software, will be refereeing the contest. The DDJ editorial staff will assist Mark as he evaluates contest entries.

The contest results will be published in the November 1991 issue of Dr. Dobb's Journal, in which we'll discuss and summarize the winning programs and publish some or all of the source code.

The Awards

We'll be providing a number of awards for the winners. The grand prize winner will receive a $250 honorarium, while winners in individual areas will receive $100 each. (Note that it is possible to win in more than one category.)

We look forward to receiving your entries -- and may the best program (and programmer) win!


Copyright © 1991, Dr. Dobb's Journal