PK/UPK -- Object packer, & fastest available unpacker.
Date: Sunday, October 2, 1994
From: mheiskan@hut.fi
Re: PK/UPK
--> S/SX/G/GX
[Note: PK was "obsoleted" by BZ, but since UPK unpacks PK'd objects
slightly faster than UBZ unpacks BZ'd objects, I've included it on
this disk for programmers who wish to include packed objects in
software and who need the *fastest* possible unpacking. -jkh-]
PK is an LZ class compressor. The main difference to RF is that PK
uses 3-nibble offsets to matches instead of 2 and PK also uses a
speedup method for finding matches.
Effects:
- PK is clearly faster
- RF _probably_ works better for short objects because short offsets
tend to dominate.
- PK _probably_ works better for long objects because the number of
long matches at larger distances increases.
Name: PK
Stack: ( ob %speed --> $ )
Desc: Compress object. %speed determines max look-back range for LZSS
compression as follows:
0 --> #FF
15 --> #FFF
If lots of RAM is available %speed will be ignored and an even
faster algorithm will be used.
When PK finishes, the object size (in bytes) of the original
and of the compressed object are displayed at the top of the
screen, as well as the %CH (percent of change). If the %CH is
a positive number, the original "grew" instead of shrinking,
and should be DROP'ed.
Name: UPK
Stack: ( $ --> ob )
Desc: Uncompress PK'ed object. Requires no extra memory.