home *** CD-ROM | disk | FTP | other *** search
- MASH
- Another LZRW based compression algorithm
- Version 1.26 (10 Dec 1994)
- Copyright 1994 Zdenek Kabelac
-
- License/Disclaimer
- ------------------
- xpkMASH is (C) Copyright 1994 by Zdenek Kabelac.
-
- This package may be freely distributed, as long as it is kept in its
- original, complete, and unmodified form. It may not be distributed by itself
- or in a commercial package of any kind without my written permission.
-
- xpkMASH is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE.
-
-
- Installation
- ------------
-
- Make sure the directory libs:compressors does exist and then just copy
- xpkFAST.library to libs:compressors. You also need to have the XPK package
- installed, it is available from several sources including Fish disks.
-
-
- Description
- -----------
-
- xpkMASH is an XPK compression sublibrary whose main purpose is to be fast
- in decrunch and have excelent crunch factor. The sublib is using LZ77
- compression, but uses special method in writing matches... Also have very nice
- feature - hashing uses a lot of memory - 128KB, but when the memory is low it
- will reduce size down upto 4KB, but it will be very very slow. Buffer size is
- 32KB. Default chunk size is 64KB. Decompresion is very very fast. Also uses
- lazy eval method in searching matches - look in the source if you'd like to
- know what this means, also if you want to know more about this program - it
- slowed everything down, but only in compression.
- Sublibrary has several modes:
-
- Mode Strings to be searched
- ------ ------------------------
-
- 0- 9 1 ;for OnTheFly compres (but rake is better)
- 10-19 2 ;fast but not excelent CF
- 20-29 4
- 30-39 8
- 40-49 16
- 50-59 32 ;good speed, good results
- 60-69 64
- 70-79 128
- 80-89 256 ;usualy good enough
- 90-99 512
- 100 1024 ;the best, the slowest
-
- The second colums shows how many matches should be compared
- - the more searched strings - the better results you will get
-
- Last words: I've been using this version 1.16 for two months and no errors
- has occured.
- And if you want to improve it - send me copy of your work.
-
- Source fot this version is not released, if you want this
- send me an e-mail
-
- I'll do some improvements later, but for now I don't have time.
- Decompression is OK, but compression is ugly slow, so look
- forward for faster compression.
-
-
- Here is benchmark result:
- Evaluated on a A3000/30/25 with 2MB ChipMem and 4MB SCRAM [standard
- XPK benchmark system] by XBench using AmigaVision [594712 bytes]
- executable as data.
-
- mash.000 594712 332652 44.1% 8.59 69233 1.47 404565
- mash.010 594712 329784 44.6% 9.04 65786 1.46 407336
- mash.020 594712 326056 45.2% 9.75 60996 1.46 407336
- mash.030 594712 322496 45.8% 10.93 54410 1.44 412994
- mash.040 594712 319540 46.3% 12.75 46644 1.44 412994
- mash.050 594712 317128 46.7% 15.60 38122 1.43 415882
- mash.060 594712 315572 47.0% 19.91 29870 1.42 418811
- mash.070 594712 314684 47.1% 26.02 22855 1.42 418811
- mash.080 594712 314324 47.2% 33.75 17621 1.42 418811
- mash.090 594712 314096 47.2% 45.13 13177 1.42 418811
- mash.100 594712 313908 47.3% 65.42 9090 1.42 418811
-
-
-
-
- History
- -------
- unreleased
- V0.5 Many errors, the biggest problem was bad writing of bits string.
-
- V0.7 Most of errors has been debuged
-
- V0.8 Last byte has not been saved
-
- V0.9 On the first look normaly working version of the sublibrary with
- fixed hash table - size 64KB
-
- V1.0 The big improvement in memory allocating
- memory is allocated before each chunk compresion and deallocated
- after this chunk is compressed (usefull if you have installed
- statram.device)
-
- V1.01 Hash size was increased from 64KB to 128KB (16 bits)
-
- V1.05 Hash is allocated dynamicaly - when is large memory free - large hash
- is used. Starting with 128KB, 64KB, 32KB, .... ,512 bytes
-
- V1.15 Seems to work perfectly for me
-
- V1.16 I suppose last bug has been removed - value of register D4
- was not saved on return. Also most of long word instruction has
- been rewritten to word oriented instructions (useful for MC68000)
-
- first public release:
-
-
- V1.26 Several speed up improvements - decompression goes about 50 kB faster
-
-
-
-
- Contact Address
- ---------------
-
- Zdenek Kabelac
- Policna 135
- Valasske Mezirici
- 757 01 Czech republic
-
- "kabi/informatics.muni.cz"