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.