CPC Rulez
https://cpcrulez.fr/forum/

LZSA
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=6237
Page 1 sur 2

Auteur :  Princesse Mariana [ 20 Juin 2019, 04:04 ]
Sujet du message :  LZSA

Citer :
LZSA is a new data compressor written by Emmanuel Marty that was designed for using on small, primarily 8-bit platforms, and heavily optimized for high decompression speeds. It comes as a single executable capable of compressing into two data formats: one is a purely byte-based, aimed at the highest possible decompression speed, and another is a mixed byte/nibble-based compressor with higher compression ratios that is still capable of highly competitive decompression speed.

The LZSA compression tool uses an aggressive optimal packing strategy to try to find the sequence of commands that gives the smallest packed file that decompresses to the original while maintaining the maximum possible decompression speed.

The compression formats give the user choices that range from decompressing faster than LZ4 on 8-bit systems with better compression, to compressing as well as ZX7 with much better decompression speed. LZSA1 is designed to replace LZ4 and LZSA2 to replace ZX7, in 8-bit scenarios.

Compression ratio comparison between LZSA and other optimal packers, for a workload composed of ZX Spectrum and C64 files:

Code :
                     Bytes            Ratio            Decompression speed vs. LZ4
LZSA2                685610           53,18% <------   75%               
ZX7                  687133           53,30%           47,73%
LZ5 1.4.1            727107           56,40%           75%
LZSA1                736169           57,11% <------   90%
Lizard -29           776122           60,21%           Not measured
LZ4_HC -19 -B4 -BD   781049           60,59%           100%
Uncompressed         1289127          100%             N/A


src/url: https://github.com/emmanuel-marty/lzsa

Auteur :  marcel [ 20 Juin 2019, 05:58 ]
Sujet du message :  Re: LZSA

Ohoh! Cool ça bouge un peu !

Auteur :  markerror [ 20 Juin 2019, 07:13 ]
Sujet du message :  Re: LZSA

Effectivement, si le taux de compression est intéressant (mieux que Bit buster), ça peut servir dans une future production si la promesse d'un décompactage rapide est tenue. Encore un truc à tester ce week-end :-(...

Auteur :  Beb [ 20 Juin 2019, 21:51 ]
Sujet du message :  Re: LZSA

interressant.

je serai curieux de voir les perfs face a des crunchers natifs comme CPCT 3.1 ou TurboCruncher de EGS.
Hervé,si tu me lis ;)

Auteur :  markerror [ 21 Juin 2019, 06:49 ]
Sujet du message :  Re: LZSA

Je vais déjà commencer par faire un source utilisable sous Winape de la version optimisée du décompresseur...

Je ne vois pas comment ce cruncher pourrait être plus mauvais que ceux sur CPC. Comme la partie recherche des données à compacter est sur PC, le gars peut se permettre de faire des recherches plus complexes des meilleurs séquences de chaînes à compacter.

Auteur :  marcel [ 21 Juin 2019, 07:12 ]
Sujet du message :  Re: LZSA

Il y a des EXA dans le source qui correspondent à l'instruction EX AF,AF'

Auteur :  Beb [ 21 Juin 2019, 12:23 ]
Sujet du message :  Re: LZSA

markerror a écrit :
Je vais déjà commencer par faire un source utilisable sous Winape de la version optimisée du décompresseur...

Je ne vois pas comment ce cruncher pourrait être plus mauvais que ceux sur CPC. Comme la partie recherche des données à compacter est sur PC, le gars peut se permettre de faire des recherches plus complexes des meilleurs séquences de chaînes à compacter.


J'ai eu plusieurs cas de crunch bien meilleurs avec CPCT3.1 (qui inclus sa propre routine de depack) qu'avec LZ48/LZ49.

Et en terme de rapidité a la décompression je demande un arbitrage ;)

Auteur :  marcel [ 21 Juin 2019, 12:33 ]
Sujet du message :  Re: LZSA

LZ48 et LZ49 sont des crunchers natifs Z80

J'ai diffusé des versions C pour faire des crunchers sur n'importe quelle machine mais on peut compresser sur son Amstrad si on aime perdre son temps, les sources sont disponibles http://www.cpcwiki.eu/forum/programming ... ecruncher/

Auteur :  marcel [ 21 Juin 2019, 12:37 ]
Sujet du message :  Re: LZSA

Ah, et on peut faire un cruncher optimal LZ4 sur Z80 de la même façon. Les sources officiels de LZ4 ne compileront jamais sur un CPC pour la simple raison qu'LZ4 est ultra optimisé pour la vitesse de compression en utilisant un max de mémoire pour faire des caches. Si on supprime les caches, toute la complexité de l'algo s'évapore et on obtient le meilleur taux de compression (celui de LZ4HC) sur un CPC. Par contre adieu la compression à la vitesse d'un LDIR :mdr:

Bref, le crunch sur une machine plus puissante ne veut pas dire grand chose en soi, tout dépend de la conception du cruncher.

Auteur :  velus [ 21 Juin 2019, 15:42 ]
Sujet du message :  Re: LZSA

Quelqu'un possède-t-il déjà le fichier .exe pour le pc? Je ne trouve rien dans l'archive

Auteur :  hERMOL [ 21 Juin 2019, 17:43 ]
Sujet du message :  Re: LZSA

velus a écrit :
Quelqu'un possède-t-il déjà le fichier .exe pour le pc? Je ne trouve rien dans l'archive

les exe win 64/32 --> https://github.com/emmanuel-marty/lzsa/releases

mes essais avec le binaire de Boulder Dash 1 (&7025 octets)
lzsa / -r : &3185 octets
lzsa / -f2 -r : &2D03 octets

Auteur :  velus [ 22 Juin 2019, 17:49 ]
Sujet du message :  Re: LZSA

Je viens de faire des tests aussi :) Ca n'a pas l'air trop mal.
J'ai un problème avec la routine asm
ça décomprime pas ce qu'il faut ! J'ai bien modifié les exa par ex af,af'.
Ai-je raté quelque chose ?
Je viens de voir que dans le source y'en a encore 4 autres!
Quelqu'un possède -t-il une qui marche ?

Auteur :  markerror [ 22 Juin 2019, 20:11 ]
Sujet du message :  Re: LZSA

Bonsoir,

Le source de décompression Z80 a été modifié sur le site hier, il était un peu merdique...

La nouvelle version fonctionne, à condition de ne pas oublier de faire un beau DI avant d'appeler cette merveille. Par contre, le binaire Windows 32 ne s'exécute pas correctement chez moi (Windows XP SP3).

Premier test sur l'image de DAN DARE C64 que j'avais utilisée pour l'exemple d'utilisation de Bitbusters 1.2 il y a... très longtemps :-).
Je me focalise sur cet autre compacteur, car c'est celui que j'ai utilisé jusqu'à maintenant dans mes adaptations de jeux Froggy pour la simple raison qu'il offrait le meilleur ratio compression/vitesse de décompression (enfin, il me semble, c'était aussi peut-être par habitude).

Taille après compression :
Bitbusters 1.2 : 6383
Lzsa2 : 5910

Pas négligeable donc.

Temps de décompression en NOP :
Bitbusters 1.2 : 417558
Lzsa2 : 280758

Là, c'est aussi intéressant :-)

Auteur :  marcel [ 23 Juin 2019, 07:50 ]
Sujet du message :  Re: LZSA

ça compresse mieux que LZ4 mais ça reste 30% plus lent (logique, plus de compression -> plus de clefs, plus de décodage, moins de LDIR en proportion)

le concurrent c'est vraiment le ZX7 qui lui est beaucoup plus lent à compression égale

Auteur :  norecess464 [ 23 Juin 2019, 22:18 ]
Sujet du message :  Re: LZSA

markerror a écrit :
Taille après compression :
Bitbusters 1.2 : 6383
Lzsa2 : 5910

Pas négligeable donc.

Temps de décompression en NOP :
Bitbusters 1.2 : 417558
Lzsa2 : 280758

Là, c'est aussi intéressant :-)


Merci Herve pour ce comparatif. Bien que "moyen dans ses performances" (que ce soit en terme de compression ou de vitesse de décompression), j'ai toujours aime BitBusters que j'ai triture dans tous les sens, que ce soit le compresseur sur PC que la décompression Z80.

D’après ce que tu indiques, meilleurs perfs a tous les niveaux. Cool ! Potentiellement a inclure dans ma trousse a outils indispensables.

Allez, tu nous mets a jour ton site http://tj.gpa.free.fr/ avec ses très intéressants articles sur les compresseurs? :)

Merci

Page 1 sur 2 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/