home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
magazine
/
drdobbs
/
ddjcompr
/
hstest
/
read.me
Wrap
Text File
|
1991-04-29
|
5KB
|
176 lines
SIG m.b.H
tom ehlert
bachstrasse 22
D-5100 aachen
germany
This is my entry to the DDJ Compression Contest
Right now I have a problem: I just reread the conditions
under which I may participate at the contest and (re)learned that
I MUST fill an ENTRY FORM which I don't have. Scince I have
no access to Compuserve I FAXed to DDJ for the request for
this entry form, but it's not yet here (5 hours later). So I
try to imagine what might be asked on this entry form and
hope for the best.
program name : HSTEST
program author : tom ehlert
post address : SIG m.b.H
tom ehlert
bachstrasse 22
D-5100 aachen / germany
phone number : 0241-502066
FAX number : 0241-502068
operating system : MS/PCDOS > 2.00
memory requirements : >= 370 KByte
compiler : MSC 6.00A
assembler : MASM 5.1
linker : MSLINK 3.65
usage :
HSTEST file compressed_file
for fast compression/decompression
HSTEST file compressed_file -F
for better,slower compression/decompression
HSTEST compressed_file file
to decompress the compressed file
sourcecode is on SRC\; regenerate with
cd SRC
tm ar
right to the sourcecode by anybody else :
none except the file PQ.C which is directly derived from
a DDJ artikel in 6'87 (Priority Queues).
Here a longer, more verbose description:
programmname : HSTEST.EXE
usage :
HSTEST infile outfile [-options]
options are
-Uncompress infile to outfile,
default is compress infile to outfile
-Full (and slow) compression, default is fast mode
-S print statistics
-Quiet mode
allthought the differenz in speed for fast or full compression
is not very big, the speed during decompression is enormous.
so if you want maximum compression use parameter -F, if you
want fast decompression don't use it.
What HSTEST is good for:
HSTEST is an extremely basic File compression/decompression
programm and not an archiving utility (like PKZIP etc.).
I produced it just to demonstrate the combination of
the combined pack() and hs_pack() routines and to keep
the sourcecode as small (and understandable) as possible.
A general archiving utility is also available, based on
the above routines.
REGENERATION of HSTEST:
sourcecode is in SRC. regenerate with
cd SRC
tm ar
AR.MAK is the makefile, it should document the process.
HSTEST has been compiled with MSC600A and MASM5.1,
but it should compile with any other C-Compiler as well
provided that _fastcall,far,... keywords are supported
or ignored.
some (trivial) supportcode has been included to STOMLIB.LIB
to make the differenz between packing and systeminterface
more clear. its source is in LIB. STOMLIB.LIB can be
regenerated using
cd LIB
tm tomlib
Some comments about the proposed benchmarks:
You want to measure the performance for compression ratio
of files in the order of 2 MByte. Allthought this is certainly
important, it is virtually useless for some cases which are
often needed:
sourcefiles (1..20 Kbytes usually)
OBJfiles (1..20 Kbytes usually)
Help-screens (1..5 Kbytes usually)
compressed pictures :
GEM .IMG (15..30 KBytes)
these files are necessarily small. pack()/hs_pack() are
inherently usable for small files, they compress even
files of 1 Kbyte significantly. This is important for
any archiving utility, because it's rather impractical
to decompress 1 MByte of compressed file just to retrieve
the last file of 100+ sourcefiles.
So I would suggest you measure the performance for
"normal" Files as well.
I usually do this (to verify and measure HSTEST) by
compressing/decompressing each File on my harddisk C:Drive
(2500 Files, 32 MByte) or my server Harddisk
(15000 Files,256 MByte).
Beside this: I wish you some fun during the evaluation of
probably several Gigabytes of compression / decompression
Software.
Last note:
DDJ is one of the journals which I read since 6 years
and will be reading 6 years to come.
have fun
tom ehlert.
SIG m.b.H.
tom ehlert phone 241-502066
FAX 241-502068
bachstr. 22
D-5100 aachen
germany