Nuevo método de compresión: Exomizer 2

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Nuevo método de compresión: Exomizer 2

Notapor Metalbrain el Sab Dic 08, 2007 4:47 pm

Señoras y señores, con ustedes el método de compresión que vence con claridad tanto al de aPLib como al de pucrunch: exomizer 2.

http://hem.bredband.net/magli143/exo/

Como no había descompresor para Z80, lo he portado yo, y además me he hecho un optimizador que coge la salida del exomizer, le quita 2 bits inútiles y le reordena los bits para que se puedan leer un poco más rápido con el Z80.

La rutina descompresora necesita una tabla de 156 bytes, que puede ser desechada tras la descompresión, así que si la ponemos en un buffer no debería suponer ningún gasto extra. De registros dobles solo utiliza el AF'.

http://www.speccy.org/metalbrain/exo_v3.zip

En la carpeta /normal están las versiones que funcionan directamente con la salida que genera exomizer al hacer:

exomizer raw -o salida entrada

En /optimized están las que funcionan con la salida optimizada, la cual se genera haciendo:

exomizer raw -o temporal entrada
exoopt temporal salida

Las rutinas _simple necesitan que la tabla esté alineada a un múltiplo de 256, y no soportan cadenas de literales, que suele ser raro que aparezcan y además se pueden desactivar con la opción -c de exomizer.
SevenuP se escribe con u minúscula y P mayúscula.
Avatar de Usuario
Metalbrain
Freddy Hardest
 
Mensajes: 587
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla

Re: Nuevo método de compresión: Exomizer 2

Notapor mcleod_ideafix el Dom Dic 09, 2007 3:35 am

Oh! mola.... y cuál es el ratio de compresión que se puede alcanzar con este método?
Web: ZX Projects | Twitter: @zxprojects
Avatar de Usuario
mcleod_ideafix
Johnny Jones
 
Mensajes: 3982
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera

Re: Nuevo método de compresión: Exomizer 2

Notapor Metalbrain el Dom Dic 09, 2007 1:38 pm

Eso depende siempre de los datos que se estén comprimiendo, pero para hacerte una idea, con los 17 archivos que se usan de benchmarks en MegaLZ ( http://lvd.nm.ru/MegaLZ/ ), que tienen un total de 262052 bytes, al comprimir nos quedan:

123609 bytes con bitbuster_extreme0.1
118341 bytes con MegaLZ
117791 bytes con pletter 0.5a
114715 bytes con aPLib
113927 bytes con pucrunch
110121 bytes con exomizer 2 (sin cadenas de literales)
110116 bytes con exomizer 2 (sin cadenas de literales, optimizada)
110089 bytes con exomizer 2
110085 bytes con exomizer 2 (optimizada)
SevenuP se escribe con u minúscula y P mayúscula.
Avatar de Usuario
Metalbrain
Freddy Hardest
 
Mensajes: 587
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla

Re: Nuevo método de compresión: Exomizer 2

Notapor TrueVideo el Dom Dic 09, 2007 8:52 pm

Muy interesante. Le echaré un ojo en cuanto pueda..
Avatar de Usuario
TrueVideo
Jack The Nipper
 
Mensajes: 195
Registrado: Mie May 23, 2007 8:34 am
Ubicación: BCN


Volver a Programación y nuevos desarrollos

¿Quién está conectado?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron