So, the Warp3D libraries are quite large in size, we need to find a
trick to fit in our future Kickstart or firmware... Of course, one of
the solutions is to compress them.
I just realized some tests with the xPK libraries. I use the excellent xpackbest (on Aminet) which allows for a given file to quickly find its most powerful compression library :
I just realized some tests with the xPK libraries. I use the excellent xpackbest (on Aminet) which allows for a given file to quickly find its most powerful compression library :
Here's the rank of the best compression rates :
- W3D_Permedia2.library v4.3 beta 5 (561 364 bytes)
- shr3.100 = 54 748 bytes (gain 91%)
- bzp2.100 = 56 536 bytes (gain 90%)
- lzcb.100 = 65 868 bytes (gain 89%)
- shri.100 = 68 244 bytes (gain 88%)
- tdcs.100 = 84 088 bytes (gain 86%)
- gzip.100 = 87 788 bytes (gain 85%)
- crm2.100 = 98 688 bytes (gain 83%)
- mash.100 = 104 212 bytes (gain 82%)
- lzw2.100 = 106 484 bytes (gain 82%)
- ppmq.100 = 107 324 bytes (gain 81%)
- lzw5.100 = 109 224 bytes (gain 81%)
- lzw4.100 = 110 576 bytes (gain 81%)
- lin4.100 = 110 012 bytes (gain 81%)
- rake.100 = 111 192 bytes (gain 81%)
- frht.100 = 111 200 bytes (gain 81%)
- lzw3.100 = 111 200 bytes (gain 81%)
- crms.100 = 113 036 bytes (gain 80%)
- lin3.100 = 115 144 bytes (gain 80%)
- impl.100 = 117 048 bytes (gain 80%)
- sasc.100 = 123 908 bytes (gain 78%)
- shid.100 = 124 748 bytes (gain 78%)
- shsc.100 = 126 360 bytes (gain 78%)
- lin2.100 = 127 300 bytes (gain78%)
- lin1.100 = 136 368 bytes (gain 76%)
- lzbs.100 = 143 896 bytes (gain 75%)
- nuke.100 = 143 916 bytes (gain 75%)
- duke.100 = 143 984 bytes (gain 75%)
- sqsh.100 = 153 652 bytes (gain 73%)
- pwpk.100 = 158 684 bytes (gain 72%)
- sdhc.100 = 175 484 bytes (gain 69%)
- ilzr.100 = 216 664 bytes (gain 62%)
- lhlb.100 = 260 756 bytes (gain 54%)
- fast.100 = 273 344 bytes (gain 52%)
- dmcb.100 = 279 604 bytes (gain 51%)
- slz3.100 = 280 212 bytes (gain 51%)
- acca.100 = 299 920 bytes (gain 47%)
- rdcn.100 = 301 648 bytes (gain 47%)
- blzw.100 = 316 924 bytes (gain 44%)
- zeno.100 = 386 256 bytes (gain 32%)
- hfmn.100 = 530 028 bytes (gain 6%)
- huff.100 = 532 916 bytes (gain 6%)
- smpl.100 = 550 204 bytes (gain 2%)
- cbr0.100 = 561 520 bytes (gain 0%)
- frle.100 = 565 852 bytes (gain 0%)
- fbr2.100 = 565 984 bytes (gain 0%)
- rlen.100 = 566 108 bytes (gain 0%)
- W3D_AvengerLEMU.library v4.5 beta 2 (189 664 bytes)
- gzip.100 = 25 916 bytes (gain 87%)
- shr3.100 = 26 024 bytes (gain 87%)
- shri.100 = 26 048 bytes (gain 87%)
- lzcb.100 = 26 508 bytes (gain 87%)
- mash.100 = 29 488 bytes (gain 85%)
- crm2.100 = 29 648 bytes (gain 85%)
- tdcs.100 = 29 792 bytes (gain 85%)
- ppmq.100 = 30 040 bytes (gain 85%)
- sasc.100 = 31 444 bytes (gain 84%)
- rake.100 = 31 756 bytes (gain 84%)
- frht.100 = 31 828 bytes (gain 84%)
- impl.100 = 32 716 bytes (gain 83%)
- shid.100 = 32 752 bytes (gain 83%)
- bzp2.100 = 33 000 bytes (gain 83%)
- shsc.100 = 33 436 bytes (gain 83%)
- crms.100 = 35 244 bytes (gain 82%)
- lzw2.100 = 35 368 bytes (gain 82%)
- lin4.100 = 35 932 bytes (gain 82%)
- lzw5.100 = 36 280 bytes (gain 81%)
- lzw4.100 = 36 540 bytes (gain 81%)
- lin3.100 = 37 128 bytes (gain 81%)
- nuke.100 = 37 736 bytes (gain 81%)
- lzw3.100 = 37 844 bytes (gain 81%)
- sqsh.100 = 41 572 bytes (gain 79%)
- lzbs.100 = 41 784 bytes (gain 78%)
- lin2.100 = 42 256 bytes (gain 78%)
- lhlb.100 = 43 044 bytes (gain 78%)
- lin1.100 = 43 184 bytes (gain 78%)
- duke.100 = 43 712 bytes (gain 77%)
- pwpk.100 = 44 684 bytes (gain 77%)
- sdhc.100 = 49 596 bytes (gain 74%)
- fast.100 = 52 816 bytes (gain 73%)
- slz3.100 = 55 320 bytes (gain 71%)
- acca.100 = 55 540 bytes (gain 71%)
- rdcn.100 = 56 052 bytes (gain 71%)
- ilzr.100 = 56 644 bytes (gain 71%)
- zeno.100 = 81 032 bytes (gain 58%)
- dmcb.100 = 83 112 bytes (gain 57%)
- blzw.100 = 88 028 bytes (gain 54%)
- hfmn.100 = 141 416 bytes (gain 26%)
- huff.100 = 142 516 bytes (gain 25%)
- smpl.100 = 176 108 bytes (gain 8%)
- frle.100 = 188 248 bytes (gain 1%)
- fbr2.100 = 188 276 bytes (gain 1%)
- rlen.100 = 188 324 bytes (gain 1%)
- cbr0.100 = 188 368 bytes (gain 1%)
Excellent news : the libraries compress very well, the gain in size is
huge, which suits us well because the space in our Kickstart is still
limited !
Finally we need to choose the decompressing routine : ideally it is needed to be quite small... For example, the 'mash' is about 490 bytes while the 'shri' is still 3.2 Kb !
Finally we need to choose the decompressing routine : ideally it is needed to be quite small... For example, the 'mash' is about 490 bytes while the 'shri' is still 3.2 Kb !
(translated by Squaley)
Aucun commentaire:
Enregistrer un commentaire
Laissez vos commentaires ici :