OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 17:22

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 21.03.2019, 16:23 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Mate niekto v zbierke PackMaker verziu 2.3 a 2.4? Nasiel som len verziu 2.2.

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 05.02.2021, 19:00 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Existuje nejaka rychla pakovacia rutina pre ZX okrem RLE metódy ?

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 05.02.2021, 22:37 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
iwosh píše:
Existuje nejaka rychla pakovacia rutina pre ZX okrem RLE metódy ?
Co presne znamena "rychla" pakovacia rutina ? ;)

Je pravda, ze RLE je pre svoju jednoduchost najrychlejsia, zapakovanie 40kB je povedzme sekunda-dve.
O kusok pomalsi je huffman, zapakovanie takych 40kB by som odhadol tak na 5 az 10 sekund.
LZ kompresia je na tom o kusok horsie, je to vypoctovo pomerne narocny algoritmus. Bezne LZ pakery na ZX Spektre pakuju 48kB dat niekedy aj 5 az 10 minut. Da sa to vyrazne urychlit roznymi trikmi, ale stale to bude pomalsie ako RLE alebo huffman.

Preto je ovela rozumnejsie subory pakovat na nejakom vykonnom stroji, a na ZX Spektre potom uz len podla potreby depakovat. Depakovanie LZ je podobne rychle ako RLE (40kB za sekundu, max dve), o kusok je pomalsi huffman (3 az 5 sekund).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 06.02.2021, 11:33 
Offline
Radil

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Busy píše:
iwosh píše:
Existuje nejaka rychla pakovacia rutina pre ZX okrem RLE metódy ?
Co presne znamena "rychla" pakovacia rutina ? ;)
Niečo podobne rýchle ako RLE. ;)

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Komprimacne programy
PříspěvekNapsal: 06.02.2021, 13:24 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
iwosh píše:
Busy píše:
iwosh píše:
Existuje nejaka rychla pakovacia rutina pre ZX okrem RLE metódy ?
Co presne znamena "rychla" pakovacia rutina ? ;)
Niečo podobne rýchle ako RLE. ;)
Tak to ta asi budem musiet sklamat. RLE kompresia dokaze byt rychla preto, lebo ma zlozitost O(N) a pracuje iba s celymi bajtami. Kompresie typu LZ sice tiez pracuju (v principe) s celymi bajtami, ale obecne maju zlozitost O(N^2), takze pre dlhsie data cas kompresie rastie viacmenej kvadraticky. A zase vela kompresii zalozenych na bitovej manipulacii (napr. Huffman) ma sice zlozitost O(N), ale kedze musia pracovat s bitmi (ktorych je potencialne 8x viac), ten cas je tiez podstatne dlhsi nez pri RLE.

Pre zaujimavost, robil som nejake pokusy, aka rychla by mohla byt LZ kompresia na ZX Spektre, ak by sme kompresnu rutinku optimalizovali na rychlost. Pokusne som si napisal packer "ZxLzPck", ktory robi tu najjednoduchsiu LZ kompresiu (v mojom LZX packeri oznacenu ako LZM) a taketo vysledky som dosiahol:
Kód:
Data               ZxLzPck     TurboImloder
====               =======     ============
ZXrom 16kB          3.50 s        2m 50s
Evoluce.bin         1.40 s           52s
4e4 same nuly       0.76 s            2s
4e4nepaknutelne    11.45 s        3m  5s
Pridal som aj porovnanie s Turboimploderom, ktoreho paker je optimalizovany na velkost, aby sa vosiel do videoramky.

Evoluce.bin su 43 kB dlhe graficke data, su to za sebou naukladane screeny z 1k intra 8volution.
4e4nepaknutelne je 40000 nahodnych bajtov (FOR a=25000 TO 65000: POKE a,255*RND:NEXT a).

Ako vidno, data, kde je vela rovnakych usekov, to zvlada pomerne rychlo, avsak komplikovanejsie data trva zapakovat uz podstatne dlhsie, nez by to zvladla RLE kompresia.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku Předchozí  1, 2

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 6 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz