Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 28 Mai 2022, 12:12

Index du forum » CPC Rulez » Z80 Coding

Le fuseau horaire est UTC+1 heure


LZSA



Publier un nouveau sujet Répondre au sujet  Page 2 sur 2
 [ 22 message(s) ]  Aller vers la page Précédent  1, 2
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
introspec
 Sujet du message : Re: LZSA
Message Publié : 25 Juin 2019, 15:11 
Hors-ligne
Avatar de l’utilisateur

Inscription : 25 Juin 2019, 14:53
Message(s) : 2
Localisation : London
Hi guys. My nickname is introspec. I helped to design LZSA and developed Z80 decompressors. I read your discussion with interest and just wanted to add a couple of comments. I am sorry I am writing in English, unfortunately I cannot speak French at all :(

1) LZSA1 is designed to directly compete with LZ4. If you compress using "lzsa -f1 -r INPUT OUTPUT", you are very likely to get higher compression ratio than LZ4 and probably slightly lower decompression speed compared to LZ4 (I am comparing speeds of LZSA1 fast decompressor and LZ4 fast decompressor, both hand-tuned by myself). If you really want to compete with LZ4 on speed, you need to compress using one of the "boost" options "lzsa -f1 -r -m4 INPUT OUTPUT" (better ratio, similar speed to LZ4) or "lzsa -f1 -r -m5 INPUT OUTPUT" (similar ratio, faster decompression than LZ4).

2) LZSA2 is approximately in the same league as BitBuster or ZX7. It is likely to be worse if you are compressing pure graphics (at least this is what we are seeing on ZX Spectrum), but it has much larger window and is pretty decent at compressing mixed data (e.g. a complete game binary or something similar). We accepted that the compression ratio is not the best because we wanted to preserve some of its speed. You should expect LZSA2 to decompress data about 50% faster than best I can do for ZX7. I did not do tests on BitBuster, but I just had a look at decompressor for ver.1.2 and there is no way it can compete with LZSA2 on speed.

There is one thing to keep in mind. I optimized decompressors assuming vanilla Z80. Since Z80 in CPC has some wait states, it is possible that someone experienced with CPC can change some of the branch defaults and squeeze a few more t-states out of it. However, I do not expect that this should make a massive difference, as long as LDIR is a good enough command to use for copying matches on CPC. If it is not, then probably more can be done.


Haut
 Profil  
 
jeangonbay
 Sujet du message : Re: LZSA
Message Publié : 30 Juil 2019, 20:59 
Hors-ligne
Rulez
Rulez

Inscription : 21 Avr 2012, 16:12
Message(s) : 27
comparé a exomizer 2, est-ce plus performant/rapide, ou pas ?


Haut
 Profil  
 
marcel
 Sujet du message : Re: LZSA
Message Publié : 30 Juil 2019, 21:12 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 388
hi introspec, you may gain extra speed using an unrolled LDIR for sequences bigger than 19 bytes ( http://map.grauw.nl/articles/fast_loops.php )


Haut
 Profil  
 
introspec
 Sujet du message : Re: LZSA
Message Publié : 31 Juil 2019, 13:56 
Hors-ligne
Avatar de l’utilisateur

Inscription : 25 Juin 2019, 14:53
Message(s) : 2
Localisation : London
@jeangonbay, in my tests on mixture of binaries for ZX Spectrum (about 1.5Mb of various files), LZSA2 has 5-6% worse compression ratio compared to Exomizer 3. However, it decompresses data 3.5 times faster. As for LZSA1, it has about 14-15% worse compression ratio compared to Exomizer 3. Its decompression speed is 6 times faster than the fastest decompressor available for Exomizer (exooptf4 by Antonio Villena).

@marcel, yes, I know about this trick; in fact, I have an unrolled loop of LDIs in my demokernel, so I wrote a special version of LZ4 and LZSA decompressor to use with it. However, I was unsure if this kind of optimization would be widely appreciated. After all, a lot of people using compressors seem to care a lot about decompressor sizes, so even for my speed-optimized decompressors I try very hard to stay within 220-240 bytes of code at most.


Haut
 Profil  
 
Princesse Mariana
 Sujet du message : Re: LZSA
Message Publié : 18 Juin 2020, 06:49 
Hors-ligne
Rulezzzzz
Rulezzzzz

Inscription : 15 Jan 2009, 11:52
Message(s) : 3050
Localisation : CPCrulez botnews
Citer :
apultra -- a new, opensource optimal compressor for the apLib format
apultra is a command-line tool and a library that compresses bitstreams in the apLib format.

The tool produces files that are 5 to 7% smaller on average than appack, the apLib compressor. Unlike the similar cap compressor, apultra can compress files larger than 64K (for files smaller than 64K, cap compresses 0.01% better on average).

apultra is written in portable C. It is fully open-source under a liberal license. You can continue to use the regular apLib decompression libraries for your target environment. You can do whatever you like with it.

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


Haut
 Profil  
 
marcel
 Sujet du message : Re: LZSA
Message Publié : 18 Juin 2020, 08:08 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 388
Princesse Mariana a écrit :
Citer :
apultra -- a new, opensource optimal compressor for the apLib format
apultra is a command-line tool and a library that compresses bitstreams in the apLib format.

The tool produces files that are 5 to 7% smaller on average than appack, the apLib compressor. Unlike the similar cap compressor, apultra can compress files larger than 64K (for files smaller than 64K, cap compresses 0.01% better on average).

apultra is written in portable C. It is fully open-source under a liberal license. You can continue to use the regular apLib decompression libraries for your target environment. You can do whatever you like with it.

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


précisons à toutes fins utiles que ce n'est pas le même cruncher, même si Emmanuel a programmé les deux et utilise du code commun pour cruncher


Haut
 Profil  
 
Princesse Mariana
 Sujet du message : Re: LZSA
Message Publié : 27 Oct 2020, 20:49 
Hors-ligne
Rulezzzzz
Rulezzzzz

Inscription : 15 Jan 2009, 11:52
Message(s) : 3050
Localisation : CPCrulez botnews
Citer :
v1.3.5
- Compress another 10% faster compared to v1.3.4 (the compressed output is unchanged)
- apultra v1.3.5 is 2X faster than v1.2.1 while compressing better

v1.3.4
- Slightly higher compression ratio for some input files
- Compress 25% faster on average, compared to v1.3.3

v1.3.3
- Increase compression ratio slightly for some input files
- Compress large files (> 1 MB) 5% faster on average, compared to v1.3.2
- Speed- and size-optimizations to the 6809 depackers, contributed by Doug Masten
- New Hitachi 6309 depacker (derived from the 6809 code), thanks to Doug Masten

v1.3.2
- Compress 20% faster on average, compared to v1.3.1 (the compressed output is identical)
- Reduce memory used to compress large input files (> 1 MB) by 50%
- Fix -stats display
- Add 32-bit Windows build
- Add 6809 depackers (forward and backward) for the Tandy CoCo, Dragon 32/64, Thomson computers, Vectrex..

url/src: https://github.com/emmanuel-marty/apultra/releases ;linked:


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 2 sur 2
 [ 22 message(s) ]  Aller vers la page Précédent  1, 2

Index du forum » CPC Rulez » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.