Z80 用 Packer

Z80 用 Packer

Windowsなどで圧縮しMSXで展開するものの圧縮率や展開速度を調査

未定義命令や自己書換を取り除き可能であれば最適化も行う

GitHub レポジトリ

各packerの特徴

ApLib - cap raw format support version v1.2(er)

  • 圧縮率が高い

  • 展開がやや速い

appack_r57shell

apultra

cap

cap raw format support version

Exomizer2 v3.0.2(raw -P0)

  • 圧縮率が高い(展開が極めて遅いShrinklerを除くと現時点で最高)

  • 展開が遅い

  • 公式のZ80展開ルーチンはv3の圧縮データに対応しないので圧縮時に-P0オプションが必要

Exomizer3 v3.0.2(raw)

  • 圧縮率が高い(展開が極めて遅いShrinklerを除くと現時点で最高)

  • 展開が遅い

  • 公式のZ80展開ルーチンはv3の圧縮データに対応しない

deexoopt

hruST - oh1c spke version 1.3 (-r)

  • 圧縮率が高い

  • 展開がやや遅い

mhmt

mhmt google code archive

oh1c

oh1c spke version with raw format support in compression2017.7z

LZ4 - smalLZ4 v1.3.1

  • 圧縮率が低い

  • 展開が非常に速い

lz4stream for Z80

lz4ultra

smalLZ4

LZ48

  • 圧縮率が低い

  • 展開が非常に速い(現時点で最速)

LZ49

  • 圧縮率が低い

  • 展開が非常に速い

lze 20080228a

  • 圧縮率がやや高い

  • 展開が速い

LZEe - LZE enhancement for z80

lzsa1 1.1.6(-f1 -r)

  • 圧縮率がやや低い

  • 展開が非常に速い

lzsa2 1.1.6(-f2 -r)

  • 圧縮率が高い

  • 展開が速い

MegaLZ v4.89

  • 圧縮率が高い

  • 展開が速い

unmegalz

Pletter v0.5c1

  • 圧縮率が高い

  • 展開がやや速い

Shrinkler v4.5(-d -9)

  • 圧縮率が非常に高い(現時点で最高)

  • 展開が極めて遅い

Shrinkler Z80

zx7

  • 圧縮率が高い

  • 展開が速い

zx7b v1.01

  • 圧縮率が高い

  • 展開が速い

zx7mini v1.01(back)

  • 圧縮率が低い

  • 展開が速い

  • Z80展開ルーチンが極めて小さい(現時点で最小)

圧縮率調査

DEOCM-PLD-CV の BIOS(256KB) を 16KB 毎に分割して圧縮した時のサイズ。

test data:DEOCM-PLD-CV BIOS(16x16KB)

Packer ALL MEGASDHC.B00 MEGASDHC.B01 MEGASDHC.B02 MEGASDHC.B03 MSX2MAIN.B00 MSX2MAIN.B01 MSXMUSIC.B00 MSX2EXT.B00 KANJJ1.B00 KANJJ1.B01 KANJJ1.B02 KANJJ1.B03 KANJJ1.B04 KANJJ1.B05 KANJJ1.B06 KANJJ1.B07
ApLib(cap er) 161,438(61.58%) 9,367(57.17%) 4,928(30.08%) 12,595(76.87%) 12,340(75.32%) 12,836(78.34%) 13,579(82.88%) 10,048(61.33%) 12,361(75.45%) 6,223(37.98%) 4,092(24.98%) 10,835(66.13%) 10,643(64.96%) 10,521(64.22%) 10,455(63.81%) 10,817(66.02%) 9,798(59.80%)
Exomizer2(-P0) 160,011(61.04%) 9,373(57.21%) 4,902(29.92%) 12,494(76.26%) 12,297(75.05%) 12,740(77.76%) 13,402(81.80%) 10,068(61.45%) 12,351(75.38%) 6,097(37.21%) 3,975(24.26%) 10,688(65.23%) 10,510(64.15%) 10,415(63.57%) 10,348(63.16%) 10,650(65.00%) 9,701(59.21%)
Exomizer3(-P7) 160,007(61.04%) 9,373(57.21%) 4,902(29.92%) 12,494(76.26%) 12,297(75.05%) 12,739(77.75%) 13,402(81.80%) 10,068(61.45%) 12,351(75.38%) 6,097(37.21%) 3,974(24.26%) 10,688(65.23%) 10,509(64.14%) 10,415(63.57%) 10,347(63.15%) 10,650(65.00%) 9,701(59.21%)
hruST(oh1c -r) 162,217(61.88%) 9,369(57.18%) 4,895(29.88%) 12,563(76.68%) 12,282(74.96%) 12,768(77.93%) 13,454(82.12%) 10,079(61.52%) 12,331(75.26%) 6,434(39.27%) 4,230(25.82%) 10,940(66.77%) 10,753(65.63%) 10,679(65.18%) 10,597(64.68%) 10,906(66.56%) 9,937(60.65%)
lz4(smalLZ4) 191,416(73.02%) 10,833(66.12%) 5,794(35.36%) 14,742(89.98%) 14,290(87.22%) 14,837(90.56%) 15,448(94.29%) 11,630(70.98%) 14,578(88.98%) 8,088(49.37%) 5,431(33.15%) 13,003(79.36%) 12,732(77.71%) 12,673(77.35%) 12,535(76.51%) 12,972(79.17%) 11,830(72.20%)
lz48 198,227(75.62%) 10,717(65.41%) 5,752(35.11%) 14,588(89.04%) 14,250(86.98%) 14,268(87.08%) 15,305(93.41%) 12,121(73.98%) 14,074(85.90%) 8,167(49.85%) 5,532(33.76%) 14,290(87.22%) 14,024(85.60%) 13,960(85.21%) 13,952(85.16%) 14,179(86.54%) 13,048(79.64%)
lz49 195,027(74.40%) 10,628(64.87%) 5,559(33.93%) 14,512(88.57%) 14,030(85.63%) 14,196(86.65%) 15,254(93.10%) 11,980(73.12%) 13,969(85.26%) 7,824(47.75%) 5,240(31.98%) 13,985(85.36%) 13,761(83.99%) 13,717(83.72%) 13,674(83.46%) 13,920(84.96%) 12,778(77.99%)
lze 174,182(66.45%) 10,092(61.60%) 5,463(33.34%) 13,472(82.23%) 13,187(80.49%) 13,698(83.61%) 14,389(87.82%) 10,830(66.10%) 13,303(81.20%) 7,027(42.89%) 4,664(28.47%) 11,696(71.39%) 11,493(70.15%) 11,373(69.42%) 11,283(68.87%) 11,634(71.01%) 10,578(64.56%)
lzee 174,118(66.42%) 10,088(61.57%) 5,459(33.32%) 13,468(82.20%) 13,183(80.46%) 13,694(83.58%) 14,385(87.80%) 10,826(66.08%) 13,299(81.17%) 7,023(42.86%) 4,660(28.44%) 11,692(71.36%) 11,489(70.12%) 11,369(69.39%) 11,279(68.84%) 11,630(70.98%) 10,574(64.54%)
lzsa1(-f1) 182,295(69.54%) 10,338(63.10%) 5,391(32.90%) 14,043(85.71%) 13,703(83.64%) 14,087(85.98%) 14,892(90.89%) 11,047(67.43%) 13,719(83.73%) 7,316(44.65%) 4,804(29.32%) 12,544(76.56%) 12,252(74.78%) 12,189(74.40%) 12,075(73.70%) 12,507(76.34%) 11,388(69.51%)
lzsa2(-f2) 167,542(63.91%) 9,672(59.03%) 5,092(31.08%) 13,126(80.11%) 12,806(78.16%) 13,293(81.13%) 14,059(85.81%) 10,342(63.12%) 12,807(78.17%) 6,428(39.23%) 4,244(25.90%) 11,292(68.92%) 11,060(67.50%) 10,940(66.77%) 10,853(66.24%) 11,279(68.84%) 10,249(62.55%)
megalz 167,609(63.94%) 9,718(59.31%) 5,124(31.27%) 12,965(79.13%) 12,660(77.27%) 13,072(79.79%) 13,917(84.94%) 10,407(63.52%) 12,833(78.33%) 6,514(39.76%) 4,320(26.37%) 11,362(69.35%) 11,161(68.12%) 11,016(67.24%) 11,012(67.21%) 11,281(68.85%) 10,247(62.54%)
pletter 167,494(63.89%) 9,706(59.24%) 5,083(31.02%) 12,945(79.01%) 12,700(77.51%) 13,205(80.60%) 13,909(84.89%) 10,466(63.88%) 12,858(78.48%) 6,511(39.74%) 4,269(26.06%) 11,340(69.21%) 11,105(67.78%) 10,992(67.09%) 10,908(66.58%) 11,252(68.68%) 10,245(62.53%)
shrinkler 153,164(58.43%) 8,984(54.83%) 4,680(28.56%) 12,148(74.15%) 11,916(72.73%) 12,276(74.93%) 13,100(79.96%) 9,536(58.20%) 11,820(72.14%) 5,728(34.96%) 3,700(22.58%) 10,212(62.33%) 10,020(61.16%) 9,876(60.28%) 9,808(59.86%) 10,148(61.94%) 9,212(56.23%)
zx7 170,296(64.96%) 9,781(59.70%) 5,080(31.01%) 13,104(79.98%) 12,784(78.03%) 13,224(80.71%) 14,021(85.58%) 10,515(64.18%) 12,943(79.00%) 6,532(39.87%) 4,401(26.86%) 11,623(70.94%) 11,436(69.80%) 11,337(69.20%) 11,331(69.16%) 11,612(70.87%) 10,572(64.53%)
zx7b 170,425(65.01%) 9,762(59.58%) 5,091(31.07%) 13,103(79.97%) 12,810(78.19%) 13,248(80.86%) 14,002(85.46%) 10,495(64.06%) 12,964(79.13%) 6,591(40.23%) 4,424(27.00%) 11,629(70.98%) 11,451(69.89%) 11,327(69.13%) 11,341(69.22%) 11,601(70.81%) 10,586(64.61%)
zx7mini(back) 190,540(72.69%) 10,580(64.58%) 5,702(34.80%) 14,358(87.63%) 14,064(85.84%) 14,015(85.54%) 15,267(93.18%) 12,073(73.69%) 13,874(84.68%) 7,390(45.10%) 4,921(30.04%) 13,428(81.96%) 13,182(80.46%) 13,091(79.90%) 13,039(79.58%) 13,311(81.24%) 12,245(74.74%)

各depackerの特徴

packer unpacker R800 180 ROM unpackersize packedsize rate unpackingtime rate description
ApLib aplib156b o x o 156 61.58% LDIR x 9.94
ApLib aplib247b o x o 249 61.58% LDIR x 5.96
ApLib aplib247b_180_minimal o o o 152 61.58% LDIR x 7.48 aplib247bをHD64180対応・サイズ縮小・低速化
ApLib aplib247b_180_small o o o 171 61.58% LDIR x 5.80 aplib247bをHD64180対応・サイズ縮小・高速化
ApLib aplib247b_180_fast o o o 234 61.58% LDIR x 5.51 aplib247bをHD64180対応・サイズ縮小・高速化
Exomizer2 deexo o x o 169 61.03% LDIR x 17.99
Exomizer2 deexo_180 o o o 166 61.03% LDIR x 17.99 deexoをHD64180対応・サイズ縮小・高速化
Exomizer2 deexo_180_fast_jp o o o 176 61.03% LDIR x 15.41 deexo_180をサイズを犠牲に高速化
Exomizer2 deexoopt_f3_180_p0 o o o 242 61.03% LDIR x 12.29 deexoopt_f3_180を-P0対応
Exomizer3 deexo3p7 o o o 176 61.03% LDIR x 13.60 deexo_180を-P7対応
Exomizer3 deexo3p7_fast_jp o o o 181 61.03% LDIR x 11.66 deexo3p7をサイズを犠牲に高速化
Exomizer3 deexoopt_p7 o x o 219 61.03% LDIR x 10.57 deexooptを-P7対応・バグ修正
Exomizer3 deexoopt_f3_p7 o x o 212 61.03% LDIR x 10.16 deexoopt_p7を全-P対応・サイズ縮小・高速化
Exomizer3 deexoopt_f3_180_p7 o o o 219 61.03% LDIR x 10.57 deexoopt_f3_p7をHD64180対応・サイズ拡大・低速化
hrust dehrust_ix o o o 234 61.88% LDIR x 7.54
hrust dehrust_ix_233b o o o 233 61.88% LDIR x 7.54 dehrust_ixをサイズ縮小・微高速化
hrust dehrust_stk o o x data 209 61.88% LDIR x 6.84
lz4 lz4dec o o x code 97 73.01% LDIR x 1.83
lz4 unlz4_spke o o o 103 73.01% LDIR x 1.68
lz4 unlz4_spke_fast o o o 96 73.01% LDIR x 1.62 unlz4_spkeをサイズ縮小・高速化
lz4 unlz4_spke_small o o o 65 73.01% LDIR x 1.67 unlz4_spkeをサイズ縮小・高速化
lz48 lz48decrunch_v006_ o x o 70 75.61% LDIR x 1.65
lz48 lz48decrunch_v006__180 o o o 71 75.61% LDIR x 1.57 lz48decrunch_v006_をHD64180対応・サイズ拡大・高速化
lz49 lz49decrunch_v001 o x o 106 74.39% LDIR x 1.88
lz49 lz49decrunch_v001_180 o o o 101 74.39% LDIR x 1.82 lz49decrunch_v001をHD64180対応・サイズ縮小・高速化
lze lzdec o o o 119 66.44% LDIR x 3.62
lze dlze_fast o o o 90 66.44% LDIR x 2.83 新規実装
lze dlze_small o o o 82 66.44% LDIR x 3.60 新規実装
lzee dlzee_fast o o o 84 66.42% LDIR x 2.73 新規実装
lzee dlzee_small o o o 76 66.42% LDIR x 3.49 新規実装
lzsa1 unlzsa1_fast o o o 111 69.54% LDIR x 1.68
lzsa1 unlzsa1_small o o o 67 69.54% LDIR x 1.87
lzsa2 unlzsa2_fast o x o 216 63.91% LDIR x 2.62
lzsa2 unlzsa2_fast_180 o o o 214 63.91% LDIR x 2.66 HD64180対応・サイズ縮小・低速化
lzsa2 unlzsa2_small o x o 139 63.91% LDIR x 2.98
lzsa2 unlzsa2_small_180 o o o 137 63.91% LDIR x 3.02 HD64180対応・サイズ縮小・低速化
MegaLZ megalz_dec40 o o o 110 63.93% LDIR x 7.57
MegaLZ unmegalz_fast_v2 o o o 233 63.93% LDIR x 3.44
MegaLZ unmegalz_fast_v2p1 o o o 229 63.93% LDIR x 3.41 unmegalz_fast_v2をサイズ縮小・高速化
MegaLZ unmegalz_small_v2 o o o 92 63.93% LDIR x 5.41
Pletter unpletter o x o 170 63.89% LDIR x 4.77
Pletter unpletter_180 o o o 146 63.89% LDIR x 4.46 unpletterをHD64180対応・サイズ縮小・高速化
Shrinkler shrinkler_recall_209 x x x code 209 58.42% LDIR x 439.20
Shrinkler shrinkler_recall_209_r800_rom o o o 209 58.42% LDIR x 437.62 shrinkler_recall_209をR800/hd64180/ROM対応・高速化
zx7 dzx7_lom_v1 o o o 214 64.96% LDIR x 3.88
zx7 dzx7_lom_v1p1 o o o 214 64.96% LDIR x 3.78 dzx7_lom_v1を高速化
zx7 dzx7_turbo o o o 88 64.96% LDIR x 4.53
zx7 dzx7_standard o o o 69 64.96% LDIR x 6.08
zx7b dzx7b_fast x x o 191 65.01% LDIR x 3.46
zx7b dzx7b_fast_r800 o o o 184 65.01% LDIR x 3.42 dzx7b_fastをR800/hd64180対応・サイズ縮小・高速化
zx7b dzx7b_slow x x o 64 65.01% LDIR x 5.58
zx7b dzx7b_slow_r800 o o o 64 65.01% LDIR x 5.58 dzx7b_slowをR800/hd64180対応
zx7mini dzx7mini o o o 39 72.68% LDIR x 3.40 新規実装

展開速度調査

  • 展開総クロック数はM1ウェイト1設定のkmz80により計測
  • クロック数にレジスター値初期設定と最初のCALLは含まず最後のRETは含む

test data:ALL(16*16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 161,438(61.58%) 59,951,437(LDIR x 9.94)
ApLib aplib247b 249 161,438(61.58%) 35,994,335(LDIR x 5.96)
ApLib aplib247b_180_minimal 152 161,438(61.58%) 45,108,903(LDIR x 7.48)
ApLib aplib247b_180_small 171 161,438(61.58%) 34,998,599(LDIR x 5.80)
ApLib aplib247b_180_fast 234 161,438(61.58%) 33,282,031(LDIR x 5.51)
Exomizer2 deexo 169 160,011(61.03%) 108,490,817(LDIR x 17.99)
Exomizer2 deexo_180 166 160,011(61.03%) 108,490,229(LDIR x 17.99)
Exomizer2 deexo_180_fast_jp 176 160,011(61.03%) 92,969,945(LDIR x 15.41)
Exomizer2 deexoopt_f3_180_p0 242 160,011(61.03%) 74,159,660(LDIR x 12.29)
Exomizer3 deexo3p7 176 160,007(61.03%) 82,034,254(LDIR x 13.60)
Exomizer3 deexo3p7_fast_jp 181 160,007(61.03%) 70,324,722(LDIR x 11.66)
Exomizer3 deexoopt_p7 219 160,007(61.03%) 63,745,458(LDIR x 10.57)
Exomizer3 deexoopt_f3_p7 212 160,007(61.03%) 61,265,322(LDIR x 10.16)
Exomizer3 deexoopt_f3_180_p7 219 160,007(61.03%) 63,774,934(LDIR x 10.57)
hrust dehrust_ix 234 162,217(61.88%) 45,520,962(LDIR x 7.54)
hrust dehrust_ix_233b 233 162,217(61.88%) 45,520,882(LDIR x 7.54)
hrust dehrust_stk 209 162,217(61.88%) 41,277,317(LDIR x 6.84)
lz4 lz4dec 97 191,416(73.01%) 11,076,311(LDIR x 1.83)
lz4 unlz4_spke 103 191,416(73.01%) 10,170,786(LDIR x 1.68)
lz4 unlz4_spke_fast 96 191,416(73.01%) 9,778,655(LDIR x 1.62)
lz4 unlz4_spke_small 65 191,416(73.01%) 10,119,559(LDIR x 1.67)
lz48 lz48decrunch_v006_ 70 198,227(75.61%) 9,987,125(LDIR x 1.65)
lz48 lz48decrunch_v006__180 71 198,227(75.61%) 9,503,964(LDIR x 1.57)
lz49 lz49decrunch_v001 106 195,027(74.39%) 11,349,204(LDIR x 1.88)
lz49 lz49decrunch_v001_180 101 195,027(74.39%) 11,002,608(LDIR x 1.82)
lze lzdec 119 174,182(66.44%) 21,831,226(LDIR x 3.62)
lze dlze_fast 90 174,182(66.44%) 17,122,936(LDIR x 2.83)
lze dlze_small 82 174,182(66.44%) 21,740,981(LDIR x 3.60)
lzee dlzee_fast 84 174,118(66.42%) 16,483,906(LDIR x 2.73)
lzee dlzee_small 76 174,118(66.42%) 21,101,951(LDIR x 3.49)
lzsa1 unlzsa1_fast 111 182,295(69.54%) 10,141,189(LDIR x 1.68)
lzsa1 unlzsa1_small 67 182,295(69.54%) 11,309,112(LDIR x 1.87)
lzsa2 unlzsa2_fast 216 167,542(63.91%) 15,805,091(LDIR x 2.62)
lzsa2 unlzsa2_fast_180 214 167,542(63.91%) 16,073,147(LDIR x 2.66)
lzsa2 unlzsa2_small 139 167,542(63.91%) 17,991,133(LDIR x 2.98)
lzsa2 unlzsa2_small_180 137 167,542(63.91%) 18,259,189(LDIR x 3.02)
MegaLZ megalz_dec40 110 167,609(63.93%) 45,653,296(LDIR x 7.57)
MegaLZ unmegalz_fast_v2 233 167,609(63.93%) 20,775,177(LDIR x 3.44)
MegaLZ unmegalz_fast_v2p1 229 167,609(63.93%) 20,597,308(LDIR x 3.41)
MegaLZ unmegalz_small_v2 92 167,609(63.93%) 32,642,661(LDIR x 5.41)
Pletter unpletter 170 167,494(63.89%) 28,812,190(LDIR x 4.77)
Pletter unpletter_180 146 167,494(63.89%) 26,943,610(LDIR x 4.46)
Shrinkler shrinkler_recall_209 209 153,164(58.42%) 2,648,153,963(LDIR x 439.20)
Shrinkler shrinkler_recall_209_r800_rom 209 153,164(58.42%) 2,638,632,095(LDIR x 437.62)
zx7 dzx7_lom_v1 214 170,296(64.96%) 23,446,544(LDIR x 3.88)
zx7 dzx7_lom_v1p1 214 170,296(64.96%) 22,851,160(LDIR x 3.78)
zx7 dzx7_turbo 88 170,296(64.96%) 27,346,595(LDIR x 4.53)
zx7 dzx7_standard 69 170,296(64.96%) 36,700,476(LDIR x 6.08)
zx7b dzx7b_fast 191 170,425(65.01%) 20,907,617(LDIR x 3.46)
zx7b dzx7b_fast_r800 184 170,425(65.01%) 20,659,431(LDIR x 3.42)
zx7b dzx7b_slow 64 170,425(65.01%) 33,688,687(LDIR x 5.58)
zx7b dzx7b_slow_r800 64 170,425(65.01%) 33,688,687(LDIR x 5.58)
zx7mini dzx7mini 39 190,540(72.68%) 20,556,427(LDIR x 3.40)

test data:MEGASDHC.B00(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 9,367(57.17%) 3,128,182(LDIR x 8.30)
ApLib aplib247b 249 9,367(57.17%) 1,900,783(LDIR x 5.04)
ApLib aplib247b_180_minimal 152 9,367(57.17%) 2,360,454(LDIR x 6.26)
ApLib aplib247b_180_small 171 9,367(57.17%) 1,837,979(LDIR x 4.87)
ApLib aplib247b_180_fast 234 9,367(57.17%) 1,761,661(LDIR x 4.67)
Exomizer2 deexo 169 9,373(57.20%) 5,908,411(LDIR x 15.67)
Exomizer2 deexo_180 166 9,373(57.20%) 5,908,329(LDIR x 15.67)
Exomizer2 deexo_180_fast_jp 176 9,373(57.20%) 5,079,716(LDIR x 13.47)
Exomizer2 deexoopt_f3_180_p0 242 9,373(57.20%) 4,050,659(LDIR x 10.74)
Exomizer3 deexo3p7 176 9,373(57.20%) 4,644,675(LDIR x 12.32)
Exomizer3 deexo3p7_fast_jp 181 9,373(57.20%) 3,984,529(LDIR x 10.57)
Exomizer3 deexoopt_p7 219 9,373(57.20%) 3,567,353(LDIR x 9.46)
Exomizer3 deexoopt_f3_p7 212 9,373(57.20%) 3,426,942(LDIR x 9.09)
Exomizer3 deexoopt_f3_180_p7 219 9,373(57.20%) 3,568,294(LDIR x 9.46)
hrust dehrust_ix 234 9,369(57.18%) 2,390,975(LDIR x 6.34)
hrust dehrust_ix_233b 233 9,369(57.18%) 2,390,970(LDIR x 6.34)
hrust dehrust_stk 209 9,369(57.18%) 2,152,604(LDIR x 5.71)
lz4 lz4dec 97 10,833(66.11%) 570,983(LDIR x 1.51)
lz4 unlz4_spke 103 10,833(66.11%) 533,603(LDIR x 1.41)
lz4 unlz4_spke_fast 96 10,833(66.11%) 519,562(LDIR x 1.37)
lz4 unlz4_spke_small 65 10,833(66.11%) 534,514(LDIR x 1.41)
lz48 lz48decrunch_v006_ 70 10,717(65.41%) 557,554(LDIR x 1.47)
lz48 lz48decrunch_v006__180 71 10,717(65.41%) 537,244(LDIR x 1.42)
lz49 lz49decrunch_v001 106 10,628(64.86%) 608,577(LDIR x 1.61)
lz49 lz49decrunch_v001_180 101 10,628(64.86%) 592,629(LDIR x 1.57)
lze lzdec 119 10,092(61.59%) 1,213,495(LDIR x 3.22)
lze dlze_fast 90 10,092(61.59%) 920,646(LDIR x 2.44)
lze dlze_small 82 10,092(61.59%) 1,186,503(LDIR x 3.14)
lzee dlzee_fast 84 10,088(61.57%) 898,746(LDIR x 2.38)
lzee dlzee_small 76 10,088(61.57%) 1,164,603(LDIR x 3.09)
lzsa1 unlzsa1_fast 111 10,338(63.09%) 547,588(LDIR x 1.45)
lzsa1 unlzsa1_small 67 10,338(63.09%) 595,341(LDIR x 1.57)
lzsa2 unlzsa2_fast 216 9,672(59.03%) 851,568(LDIR x 2.25)
lzsa2 unlzsa2_fast_180 214 9,672(59.03%) 864,360(LDIR x 2.29)
lzsa2 unlzsa2_small 139 9,672(59.03%) 959,022(LDIR x 2.54)
lzsa2 unlzsa2_small_180 137 9,672(59.03%) 971,814(LDIR x 2.57)
MegaLZ megalz_dec40 110 9,718(59.31%) 2,363,816(LDIR x 6.27)
MegaLZ unmegalz_fast_v2 233 9,718(59.31%) 1,089,557(LDIR x 2.89)
MegaLZ unmegalz_fast_v2p1 229 9,718(59.31%) 1,080,303(LDIR x 2.86)
MegaLZ unmegalz_small_v2 92 9,718(59.31%) 1,677,063(LDIR x 4.45)
Pletter unpletter 170 9,706(59.24%) 1,459,575(LDIR x 3.87)
Pletter unpletter_180 146 9,706(59.24%) 1,361,099(LDIR x 3.61)
Shrinkler shrinkler_recall_209 209 8,984(54.83%) 147,898,055(LDIR x 392.47)
Shrinkler shrinkler_recall_209_r800_rom 209 8,984(54.83%) 147,258,984(LDIR x 390.77)
zx7 dzx7_lom_v1 214 9,781(59.69%) 1,204,254(LDIR x 3.19)
zx7 dzx7_lom_v1p1 214 9,781(59.69%) 1,176,584(LDIR x 3.12)
zx7 dzx7_turbo 88 9,781(59.69%) 1,401,087(LDIR x 3.71)
zx7 dzx7_standard 69 9,781(59.69%) 1,850,393(LDIR x 4.91)
zx7b dzx7b_fast 191 9,762(59.58%) 1,088,297(LDIR x 2.88)
zx7b dzx7b_fast_r800 184 9,762(59.58%) 1,076,726(LDIR x 2.85)
zx7b dzx7b_slow 64 9,762(59.58%) 1,718,914(LDIR x 4.56)
zx7b dzx7b_slow_r800 64 9,762(59.58%) 1,718,914(LDIR x 4.56)
zx7mini dzx7mini 39 10,580(64.57%) 1,122,710(LDIR x 2.97)

test data:MEGASDHC.B01(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 4,928(30.07%) 1,897,486(LDIR x 5.03)
ApLib aplib247b 249 4,928(30.07%) 1,225,666(LDIR x 3.25)
ApLib aplib247b_180_minimal 152 4,928(30.07%) 1,479,751(LDIR x 3.92)
ApLib aplib247b_180_small 171 4,928(30.07%) 1,193,933(LDIR x 3.16)
ApLib aplib247b_180_fast 234 4,928(30.07%) 1,150,470(LDIR x 3.05)
Exomizer2 deexo 169 4,902(29.91%) 3,307,149(LDIR x 8.77)
Exomizer2 deexo_180 166 4,902(29.91%) 3,307,019(LDIR x 8.77)
Exomizer2 deexo_180_fast_jp 176 4,902(29.91%) 2,874,744(LDIR x 7.62)
Exomizer2 deexoopt_f3_180_p0 242 4,902(29.91%) 2,332,339(LDIR x 6.18)
Exomizer3 deexo3p7 176 4,902(29.91%) 2,759,609(LDIR x 7.32)
Exomizer3 deexo3p7_fast_jp 181 4,902(29.91%) 2,382,976(LDIR x 6.32)
Exomizer3 deexoopt_p7 219 4,902(29.91%) 2,155,892(LDIR x 5.72)
Exomizer3 deexoopt_f3_p7 212 4,902(29.91%) 2,075,674(LDIR x 5.50)
Exomizer3 deexoopt_f3_180_p7 219 4,902(29.91%) 2,152,413(LDIR x 5.71)
hrust dehrust_ix 234 4,895(29.87%) 1,520,335(LDIR x 4.03)
hrust dehrust_ix_233b 233 4,895(29.87%) 1,520,330(LDIR x 4.03)
hrust dehrust_stk 209 4,895(29.87%) 1,394,349(LDIR x 3.70)
lz4 lz4dec 97 5,794(35.36%) 517,676(LDIR x 1.37)
lz4 unlz4_spke 103 5,794(35.36%) 493,260(LDIR x 1.30)
lz4 unlz4_spke_fast 96 5,794(35.36%) 482,640(LDIR x 1.28)
lz4 unlz4_spke_small 65 5,794(35.36%) 491,273(LDIR x 1.30)
lz48 lz48decrunch_v006_ 70 5,752(35.10%) 504,561(LDIR x 1.33)
lz48 lz48decrunch_v006__180 71 5,752(35.10%) 488,345(LDIR x 1.29)
lz49 lz49decrunch_v001 106 5,559(33.92%) 540,251(LDIR x 1.43)
lz49 lz49decrunch_v001_180 101 5,559(33.92%) 530,307(LDIR x 1.40)
lze lzdec 119 5,463(33.34%) 846,520(LDIR x 2.24)
lze dlze_fast 90 5,463(33.34%) 694,168(LDIR x 1.84)
lze dlze_small 82 5,463(33.34%) 837,755(LDIR x 2.22)
lzee dlzee_fast 84 5,459(33.31%) 679,498(LDIR x 1.80)
lzee dlzee_small 76 5,459(33.31%) 823,085(LDIR x 2.18)
lzsa1 unlzsa1_fast 111 5,391(32.90%) 485,613(LDIR x 1.28)
lzsa1 unlzsa1_small 67 5,391(32.90%) 516,127(LDIR x 1.36)
lzsa2 unlzsa2_fast 216 5,092(31.07%) 633,526(LDIR x 1.68)
lzsa2 unlzsa2_fast_180 214 5,092(31.07%) 640,558(LDIR x 1.69)
lzsa2 unlzsa2_small 139 5,092(31.07%) 690,797(LDIR x 1.83)
lzsa2 unlzsa2_small_180 137 5,092(31.07%) 697,829(LDIR x 1.85)
MegaLZ megalz_dec40 110 5,124(31.27%) 1,578,986(LDIR x 4.19)
MegaLZ unmegalz_fast_v2 233 5,124(31.27%) 838,672(LDIR x 2.22)
MegaLZ unmegalz_fast_v2p1 229 5,124(31.27%) 833,988(LDIR x 2.21)
MegaLZ unmegalz_small_v2 92 5,124(31.27%) 1,194,407(LDIR x 3.16)
Pletter unpletter 170 5,083(31.02%) 905,030(LDIR x 2.40)
Pletter unpletter_180 146 5,083(31.02%) 855,839(LDIR x 2.27)
Shrinkler shrinkler_recall_209 209 4,680(28.56%) 78,117,653(LDIR x 207.29)
Shrinkler shrinkler_recall_209_r800_rom 209 4,680(28.56%) 77,792,909(LDIR x 206.43)
zx7 dzx7_lom_v1 214 5,080(31.00%) 844,236(LDIR x 2.24)
zx7 dzx7_lom_v1p1 214 5,080(31.00%) 829,346(LDIR x 2.20)
zx7 dzx7_turbo 88 5,080(31.00%) 950,318(LDIR x 2.52)
zx7 dzx7_standard 69 5,080(31.00%) 1,192,495(LDIR x 3.16)
zx7b dzx7b_fast 191 5,091(31.07%) 769,861(LDIR x 2.04)
zx7b dzx7b_fast_r800 184 5,091(31.07%) 763,645(LDIR x 2.02)
zx7b dzx7b_slow 64 5,091(31.07%) 1,109,193(LDIR x 2.94)
zx7b dzx7b_slow_r800 64 5,091(31.07%) 1,109,193(LDIR x 2.94)
zx7mini dzx7mini 39 5,702(34.80%) 844,220(LDIR x 2.24)

test data:MEGASDHC.B02(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 12,595(76.87%) 4,326,841(LDIR x 11.48)
ApLib aplib247b 249 12,595(76.87%) 2,596,162(LDIR x 6.88)
ApLib aplib247b_180_minimal 152 12,595(76.87%) 3,238,820(LDIR x 8.59)
ApLib aplib247b_180_small 171 12,595(76.87%) 2,505,386(LDIR x 6.64)
ApLib aplib247b_180_fast 234 12,595(76.87%) 2,391,239(LDIR x 6.34)
Exomizer2 deexo 169 12,494(76.25%) 7,962,111(LDIR x 21.12)
Exomizer2 deexo_180 166 12,494(76.25%) 7,962,005(LDIR x 21.12)
Exomizer2 deexo_180_fast_jp 176 12,494(76.25%) 6,808,036(LDIR x 18.06)
Exomizer2 deexoopt_f3_180_p0 242 12,494(76.25%) 5,419,432(LDIR x 14.38)
Exomizer3 deexo3p7 176 12,494(76.25%) 6,005,290(LDIR x 15.93)
Exomizer3 deexo3p7_fast_jp 181 12,494(76.25%) 5,123,001(LDIR x 13.59)
Exomizer3 deexoopt_p7 219 12,494(76.25%) 4,676,657(LDIR x 12.41)
Exomizer3 deexoopt_f3_p7 212 12,494(76.25%) 4,497,278(LDIR x 11.93)
Exomizer3 deexoopt_f3_180_p7 219 12,494(76.25%) 4,680,084(LDIR x 12.41)
hrust dehrust_ix 234 12,563(76.67%) 3,175,826(LDIR x 8.42)
hrust dehrust_ix_233b 233 12,563(76.67%) 3,175,821(LDIR x 8.42)
hrust dehrust_stk 209 12,563(76.67%) 2,861,857(LDIR x 7.59)
lz4 lz4dec 97 14,742(89.97%) 631,478(LDIR x 1.67)
lz4 unlz4_spke 103 14,742(89.97%) 581,959(LDIR x 1.54)
lz4 unlz4_spke_fast 96 14,742(89.97%) 563,602(LDIR x 1.49)
lz4 unlz4_spke_small 65 14,742(89.97%) 583,554(LDIR x 1.54)
lz48 lz48decrunch_v006_ 70 14,588(89.03%) 593,341(LDIR x 1.57)
lz48 lz48decrunch_v006__180 71 14,588(89.03%) 568,287(LDIR x 1.50)
lz49 lz49decrunch_v001 106 14,512(88.57%) 675,825(LDIR x 1.79)
lz49 lz49decrunch_v001_180 101 14,512(88.57%) 655,886(LDIR x 1.74)
lze lzdec 119 13,472(82.22%) 1,536,039(LDIR x 4.07)
lze dlze_fast 90 13,472(82.22%) 1,144,673(LDIR x 3.03)
lze dlze_small 82 13,472(82.22%) 1,507,522(LDIR x 4.00)
lzee dlzee_fast 84 13,468(82.20%) 1,111,043(LDIR x 2.94)
lzee dlzee_small 76 13,468(82.20%) 1,473,892(LDIR x 3.91)
lzsa1 unlzsa1_fast 111 14,043(85.71%) 613,790(LDIR x 1.62)
lzsa1 unlzsa1_small 67 14,043(85.71%) 680,154(LDIR x 1.80)
lzsa2 unlzsa2_fast 216 13,126(80.11%) 1,053,369(LDIR x 2.79)
lzsa2 unlzsa2_fast_180 214 13,126(80.11%) 1,071,961(LDIR x 2.84)
lzsa2 unlzsa2_small 139 13,126(80.11%) 1,203,559(LDIR x 3.19)
lzsa2 unlzsa2_small_180 137 13,126(80.11%) 1,222,151(LDIR x 3.24)
MegaLZ megalz_dec40 110 12,965(79.13%) 3,108,603(LDIR x 8.24)
MegaLZ unmegalz_fast_v2 233 12,965(79.13%) 1,352,140(LDIR x 3.58)
MegaLZ unmegalz_fast_v2p1 229 12,965(79.13%) 1,337,856(LDIR x 3.55)
MegaLZ unmegalz_small_v2 92 12,965(79.13%) 2,168,953(LDIR x 5.75)
Pletter unpletter 170 12,945(79.01%) 1,990,443(LDIR x 5.28)
Pletter unpletter_180 146 12,945(79.01%) 1,846,016(LDIR x 4.89)
Shrinkler shrinkler_recall_209 209 12,148(74.14%) 204,353,362(LDIR x 542.28)
Shrinkler shrinkler_recall_209_r800_rom 209 12,148(74.14%) 203,520,042(LDIR x 540.07)
zx7 dzx7_lom_v1 214 13,104(79.98%) 1,607,280(LDIR x 4.26)
zx7 dzx7_lom_v1p1 214 13,104(79.98%) 1,563,830(LDIR x 4.14)
zx7 dzx7_turbo 88 13,104(79.98%) 1,892,199(LDIR x 5.02)
zx7 dzx7_standard 69 13,104(79.98%) 2,571,139(LDIR x 6.82)
zx7b dzx7b_fast 191 13,103(79.97%) 1,438,531(LDIR x 3.81)
zx7b dzx7b_fast_r800 184 13,103(79.97%) 1,420,395(LDIR x 3.76)
zx7b dzx7b_slow 64 13,103(79.97%) 2,374,575(LDIR x 6.30)
zx7b dzx7b_slow_r800 64 13,103(79.97%) 2,374,575(LDIR x 6.30)
zx7mini dzx7mini 39 14,358(87.63%) 1,358,190(LDIR x 3.60)

test data:MEGASDHC.B03(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 12,340(75.31%) 4,080,119(LDIR x 10.82)
ApLib aplib247b 249 12,340(75.31%) 2,450,631(LDIR x 6.50)
ApLib aplib247b_180_minimal 152 12,340(75.31%) 3,052,047(LDIR x 8.09)
ApLib aplib247b_180_small 171 12,340(75.31%) 2,360,219(LDIR x 6.26)
ApLib aplib247b_180_fast 234 12,340(75.31%) 2,256,658(LDIR x 5.98)
Exomizer2 deexo 169 12,297(75.05%) 7,705,336(LDIR x 20.44)
Exomizer2 deexo_180 166 12,297(75.05%) 7,705,250(LDIR x 20.44)
Exomizer2 deexo_180_fast_jp 176 12,297(75.05%) 6,613,232(LDIR x 17.54)
Exomizer2 deexoopt_f3_180_p0 242 12,297(75.05%) 5,232,700(LDIR x 13.88)
Exomizer3 deexo3p7 176 12,297(75.05%) 6,143,310(LDIR x 16.30)
Exomizer3 deexo3p7_fast_jp 181 12,297(75.05%) 5,242,630(LDIR x 13.91)
Exomizer3 deexoopt_p7 219 12,297(75.05%) 4,667,845(LDIR x 12.38)
Exomizer3 deexoopt_f3_p7 212 12,297(75.05%) 4,478,345(LDIR x 11.88)
Exomizer3 deexoopt_f3_180_p7 219 12,297(75.05%) 4,667,380(LDIR x 12.38)
hrust dehrust_ix 234 12,282(74.96%) 2,984,997(LDIR x 7.92)
hrust dehrust_ix_233b 233 12,282(74.96%) 2,984,992(LDIR x 7.92)
hrust dehrust_stk 209 12,282(74.96%) 2,678,183(LDIR x 7.10)
lz4 lz4dec 97 14,290(87.21%) 599,898(LDIR x 1.59)
lz4 unlz4_spke 103 14,290(87.21%) 556,100(LDIR x 1.47)
lz4 unlz4_spke_fast 96 14,290(87.21%) 540,184(LDIR x 1.43)
lz4 unlz4_spke_small 65 14,290(87.21%) 557,963(LDIR x 1.48)
lz48 lz48decrunch_v006_ 70 14,250(86.97%) 581,226(LDIR x 1.54)
lz48 lz48decrunch_v006__180 71 14,250(86.97%) 558,530(LDIR x 1.48)
lz49 lz49decrunch_v001 106 14,030(85.63%) 658,644(LDIR x 1.74)
lz49 lz49decrunch_v001_180 101 14,030(85.63%) 640,517(LDIR x 1.69)
lze lzdec 119 13,187(80.48%) 1,481,802(LDIR x 3.93)
lze dlze_fast 90 13,187(80.48%) 1,094,635(LDIR x 2.90)
lze dlze_small 82 13,187(80.48%) 1,446,826(LDIR x 3.83)
lzee dlzee_fast 84 13,183(80.46%) 1,065,955(LDIR x 2.82)
lzee dlzee_small 76 13,183(80.46%) 1,418,146(LDIR x 3.76)
lzsa1 unlzsa1_fast 111 13,703(83.63%) 589,986(LDIR x 1.56)
lzsa1 unlzsa1_small 67 13,703(83.63%) 649,932(LDIR x 1.72)
lzsa2 unlzsa2_fast 216 12,806(78.16%) 991,122(LDIR x 2.63)
lzsa2 unlzsa2_fast_180 214 12,806(78.16%) 1,007,930(LDIR x 2.67)
lzsa2 unlzsa2_small 139 12,806(78.16%) 1,127,711(LDIR x 2.99)
lzsa2 unlzsa2_small_180 137 12,806(78.16%) 1,144,519(LDIR x 3.03)
MegaLZ megalz_dec40 110 12,660(77.27%) 2,979,373(LDIR x 7.90)
MegaLZ unmegalz_fast_v2 233 12,660(77.27%) 1,300,533(LDIR x 3.45)
MegaLZ unmegalz_fast_v2p1 229 12,660(77.27%) 1,287,289(LDIR x 3.41)
MegaLZ unmegalz_small_v2 92 12,660(77.27%) 2,077,557(LDIR x 5.51)
Pletter unpletter 170 12,700(77.51%) 1,873,970(LDIR x 4.97)
Pletter unpletter_180 146 12,700(77.51%) 1,737,676(LDIR x 4.61)
Shrinkler shrinkler_recall_209 209 11,916(72.72%) 198,247,021(LDIR x 526.08)
Shrinkler shrinkler_recall_209_r800_rom 209 11,916(72.72%) 197,406,701(LDIR x 523.85)
zx7 dzx7_lom_v1 214 12,784(78.02%) 1,504,449(LDIR x 3.99)
zx7 dzx7_lom_v1p1 214 12,784(78.02%) 1,465,403(LDIR x 3.88)
zx7 dzx7_turbo 88 12,784(78.02%) 1,771,697(LDIR x 4.70)
zx7 dzx7_standard 69 12,784(78.02%) 2,400,076(LDIR x 6.36)
zx7b dzx7b_fast 191 12,810(78.18%) 1,341,173(LDIR x 3.55)
zx7b dzx7b_fast_r800 184 12,810(78.18%) 1,325,227(LDIR x 3.51)
zx7b dzx7b_slow 64 12,810(78.18%) 2,211,732(LDIR x 5.86)
zx7b dzx7b_slow_r800 64 12,810(78.18%) 2,211,732(LDIR x 5.86)
zx7mini dzx7mini 39 14,064(85.83%) 1,320,096(LDIR x 3.50)

test data:MSX2MAIN.B00(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 12,836(78.34%) 4,054,821(LDIR x 10.76)
ApLib aplib247b 249 12,836(78.34%) 2,436,529(LDIR x 6.46)
ApLib aplib247b_180_minimal 152 12,836(78.34%) 3,033,147(LDIR x 8.04)
ApLib aplib247b_180_small 171 12,836(78.34%) 2,343,503(LDIR x 6.21)
ApLib aplib247b_180_fast 234 12,836(78.34%) 2,249,606(LDIR x 5.96)
Exomizer2 deexo 169 12,740(77.75%) 7,678,676(LDIR x 20.37)
Exomizer2 deexo_180 166 12,740(77.75%) 7,678,762(LDIR x 20.37)
Exomizer2 deexo_180_fast_jp 176 12,740(77.75%) 6,608,801(LDIR x 17.53)
Exomizer2 deexoopt_f3_180_p0 242 12,740(77.75%) 5,234,946(LDIR x 13.89)
Exomizer3 deexo3p7 176 12,739(77.75%) 6,207,944(LDIR x 16.47)
Exomizer3 deexo3p7_fast_jp 181 12,739(77.75%) 5,309,942(LDIR x 14.09)
Exomizer3 deexoopt_p7 219 12,739(77.75%) 4,714,326(LDIR x 12.51)
Exomizer3 deexoopt_f3_p7 212 12,739(77.75%) 4,517,671(LDIR x 11.98)
Exomizer3 deexoopt_f3_180_p7 219 12,739(77.75%) 4,712,862(LDIR x 12.50)
hrust dehrust_ix 234 12,768(77.92%) 3,074,734(LDIR x 8.15)
hrust dehrust_ix_233b 233 12,768(77.92%) 3,074,729(LDIR x 8.15)
hrust dehrust_stk 209 12,768(77.92%) 2,750,174(LDIR x 7.29)
lz4 lz4dec 97 14,837(90.55%) 611,084(LDIR x 1.62)
lz4 unlz4_spke 103 14,837(90.55%) 566,200(LDIR x 1.50)
lz4 unlz4_spke_fast 96 14,837(90.55%) 549,249(LDIR x 1.45)
lz4 unlz4_spke_small 65 14,837(90.55%) 567,045(LDIR x 1.50)
lz48 lz48decrunch_v006_ 70 14,268(87.08%) 613,020(LDIR x 1.62)
lz48 lz48decrunch_v006__180 71 14,268(87.08%) 584,681(LDIR x 1.55)
lz49 lz49decrunch_v001 106 14,196(86.64%) 680,983(LDIR x 1.80)
lz49 lz49decrunch_v001_180 101 14,196(86.64%) 659,598(LDIR x 1.75)
lze lzdec 119 13,698(83.60%) 1,533,796(LDIR x 4.07)
lze dlze_fast 90 13,698(83.60%) 1,112,550(LDIR x 2.95)
lze dlze_small 82 13,698(83.60%) 1,492,714(LDIR x 3.96)
lzee dlzee_fast 84 13,694(83.58%) 1,090,200(LDIR x 2.89)
lzee dlzee_small 76 13,694(83.58%) 1,470,364(LDIR x 3.90)
lzsa1 unlzsa1_fast 111 14,087(85.98%) 586,282(LDIR x 1.55)
lzsa1 unlzsa1_small 67 14,087(85.98%) 645,250(LDIR x 1.71)
lzsa2 unlzsa2_fast 216 13,293(81.13%) 964,037(LDIR x 2.55)
lzsa2 unlzsa2_fast_180 214 13,293(81.13%) 980,309(LDIR x 2.60)
lzsa2 unlzsa2_small 139 13,293(81.13%) 1,092,821(LDIR x 2.89)
lzsa2 unlzsa2_small_180 137 13,293(81.13%) 1,109,093(LDIR x 2.94)
MegaLZ megalz_dec40 110 13,072(79.78%) 3,077,702(LDIR x 8.16)
MegaLZ unmegalz_fast_v2 233 13,072(79.78%) 1,336,616(LDIR x 3.54)
MegaLZ unmegalz_fast_v2p1 229 13,072(79.78%) 1,322,497(LDIR x 3.50)
MegaLZ unmegalz_small_v2 92 13,072(79.78%) 2,132,837(LDIR x 5.65)
Pletter unpletter 170 13,205(80.59%) 1,788,932(LDIR x 4.74)
Pletter unpletter_180 146 13,205(80.59%) 1,653,754(LDIR x 4.38)
Shrinkler shrinkler_recall_209 209 12,276(74.92%) 202,922,527(LDIR x 538.48)
Shrinkler shrinkler_recall_209_r800_rom 209 12,276(74.92%) 202,068,589(LDIR x 536.22)
zx7 dzx7_lom_v1 214 13,224(80.71%) 1,451,456(LDIR x 3.85)
zx7 dzx7_lom_v1p1 214 13,224(80.71%) 1,413,754(LDIR x 3.75)
zx7 dzx7_turbo 88 13,224(80.71%) 1,714,445(LDIR x 4.54)
zx7 dzx7_standard 69 13,224(80.71%) 2,295,448(LDIR x 6.09)
zx7b dzx7b_fast 191 13,248(80.85%) 1,312,892(LDIR x 3.48)
zx7b dzx7b_fast_r800 184 13,248(80.85%) 1,297,046(LDIR x 3.44)
zx7b dzx7b_slow 64 13,248(80.85%) 2,140,196(LDIR x 5.67)
zx7b dzx7b_slow_r800 64 13,248(80.85%) 2,140,196(LDIR x 5.67)
zx7mini dzx7mini 39 14,015(85.54%) 1,363,067(LDIR x 3.61)

test data:MSX2MAIN.B01(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 13,579(82.87%) 4,384,059(LDIR x 11.63)
ApLib aplib247b 249 13,579(82.87%) 2,614,413(LDIR x 6.93)
ApLib aplib247b_180_minimal 152 13,579(82.87%) 3,267,235(LDIR x 8.67)
ApLib aplib247b_180_small 171 13,579(82.87%) 2,514,852(LDIR x 6.67)
ApLib aplib247b_180_fast 234 13,579(82.87%) 2,402,478(LDIR x 6.37)
Exomizer2 deexo 169 13,402(81.79%) 8,119,431(LDIR x 21.54)
Exomizer2 deexo_180 166 13,402(81.79%) 8,119,361(LDIR x 21.54)
Exomizer2 deexo_180_fast_jp 176 13,402(81.79%) 6,941,251(LDIR x 18.41)
Exomizer2 deexoopt_f3_180_p0 242 13,402(81.79%) 5,530,017(LDIR x 14.67)
Exomizer3 deexo3p7 176 13,402(81.79%) 6,031,181(LDIR x 16.00)
Exomizer3 deexo3p7_fast_jp 181 13,402(81.79%) 5,156,357(LDIR x 13.68)
Exomizer3 deexoopt_p7 219 13,402(81.79%) 4,709,224(LDIR x 12.49)
Exomizer3 deexoopt_f3_p7 212 13,402(81.79%) 4,528,588(LDIR x 12.01)
Exomizer3 deexoopt_f3_180_p7 219 13,402(81.79%) 4,715,901(LDIR x 12.51)
hrust dehrust_ix 234 13,454(82.11%) 3,143,717(LDIR x 8.34)
hrust dehrust_ix_233b 233 13,454(82.11%) 3,143,712(LDIR x 8.34)
hrust dehrust_stk 209 13,454(82.11%) 2,812,027(LDIR x 7.46)
lz4 lz4dec 97 15,448(94.28%) 588,675(LDIR x 1.56)
lz4 unlz4_spke 103 15,448(94.28%) 546,251(LDIR x 1.44)
lz4 unlz4_spke_fast 96 15,448(94.28%) 531,558(LDIR x 1.41)
lz4 unlz4_spke_small 65 15,448(94.28%) 548,986(LDIR x 1.45)
lz48 lz48decrunch_v006_ 70 15,305(93.41%) 563,268(LDIR x 1.49)
lz48 lz48decrunch_v006__180 71 15,305(93.41%) 543,506(LDIR x 1.44)
lz49 lz49decrunch_v001 106 15,254(93.10%) 636,775(LDIR x 1.68)
lz49 lz49decrunch_v001_180 101 15,254(93.10%) 619,966(LDIR x 1.64)
lze lzdec 119 14,389(87.82%) 1,560,048(LDIR x 4.13)
lze dlze_fast 90 14,389(87.82%) 1,138,404(LDIR x 3.02)
lze dlze_small 82 14,389(87.82%) 1,517,879(LDIR x 4.02)
lzee dlzee_fast 84 14,385(87.79%) 1,107,474(LDIR x 2.93)
lzee dlzee_small 76 14,385(87.79%) 1,486,949(LDIR x 3.94)
lzsa1 unlzsa1_fast 111 14,892(90.89%) 585,721(LDIR x 1.55)
lzsa1 unlzsa1_small 67 14,892(90.89%) 643,824(LDIR x 1.70)
lzsa2 unlzsa2_fast 216 14,059(85.80%) 1,009,105(LDIR x 2.67)
lzsa2 unlzsa2_fast_180 214 14,059(85.80%) 1,025,969(LDIR x 2.72)
lzsa2 unlzsa2_small 139 14,059(85.80%) 1,153,514(LDIR x 3.06)
lzsa2 unlzsa2_small_180 137 14,059(85.80%) 1,170,378(LDIR x 3.10)
MegaLZ megalz_dec40 110 13,917(84.94%) 3,129,990(LDIR x 8.30)
MegaLZ unmegalz_fast_v2 233 13,917(84.94%) 1,336,318(LDIR x 3.54)
MegaLZ unmegalz_fast_v2p1 229 13,917(84.94%) 1,321,809(LDIR x 3.50)
MegaLZ unmegalz_small_v2 92 13,917(84.94%) 2,161,096(LDIR x 5.73)
Pletter unpletter 170 13,909(84.89%) 1,997,407(LDIR x 5.30)
Pletter unpletter_180 146 13,909(84.89%) 1,848,758(LDIR x 4.90)
Shrinkler shrinkler_recall_209 209 13,100(79.95%) 219,699,688(LDIR x 583.00)
Shrinkler shrinkler_recall_209_r800_rom 209 13,100(79.95%) 218,776,382(LDIR x 580.55)
zx7 dzx7_lom_v1 214 14,021(85.57%) 1,563,876(LDIR x 4.14)
zx7 dzx7_lom_v1p1 214 14,021(85.57%) 1,522,430(LDIR x 4.04)
zx7 dzx7_turbo 88 14,021(85.57%) 1,849,758(LDIR x 4.90)
zx7 dzx7_standard 69 14,021(85.57%) 2,522,726(LDIR x 6.69)
zx7b dzx7b_fast 191 14,002(85.46%) 1,411,404(LDIR x 3.74)
zx7b dzx7b_fast_r800 184 14,002(85.46%) 1,394,138(LDIR x 3.69)
zx7b dzx7b_slow 64 14,002(85.46%) 2,355,118(LDIR x 6.24)
zx7b dzx7b_slow_r800 64 14,002(85.46%) 2,355,118(LDIR x 6.24)
zx7mini dzx7mini 39 15,267(93.18%) 1,346,826(LDIR x 3.57)

test data:MSXMUSIC.B00(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 10,048(61.32%) 3,300,996(LDIR x 8.75)
ApLib aplib247b 249 10,048(61.32%) 1,987,340(LDIR x 5.27)
ApLib aplib247b_180_minimal 152 10,048(61.32%) 2,479,203(LDIR x 6.57)
ApLib aplib247b_180_small 171 10,048(61.32%) 1,919,953(LDIR x 5.09)
ApLib aplib247b_180_fast 234 10,048(61.32%) 1,838,748(LDIR x 4.87)
Exomizer2 deexo 169 10,068(61.45%) 5,986,114(LDIR x 15.88)
Exomizer2 deexo_180 166 10,068(61.45%) 5,986,088(LDIR x 15.88)
Exomizer2 deexo_180_fast_jp 176 10,068(61.45%) 5,151,150(LDIR x 13.66)
Exomizer2 deexoopt_f3_180_p0 242 10,068(61.45%) 4,111,774(LDIR x 10.91)
Exomizer3 deexo3p7 176 10,068(61.45%) 4,792,485(LDIR x 12.71)
Exomizer3 deexo3p7_fast_jp 181 10,068(61.45%) 4,105,700(LDIR x 10.89)
Exomizer3 deexoopt_p7 219 10,068(61.45%) 3,672,667(LDIR x 9.74)
Exomizer3 deexoopt_f3_p7 212 10,068(61.45%) 3,524,205(LDIR x 9.35)
Exomizer3 deexoopt_f3_180_p7 219 10,068(61.45%) 3,670,641(LDIR x 9.74)
hrust dehrust_ix 234 10,079(61.51%) 2,526,759(LDIR x 6.70)
hrust dehrust_ix_233b 233 10,079(61.51%) 2,526,754(LDIR x 6.70)
hrust dehrust_stk 209 10,079(61.51%) 2,273,324(LDIR x 6.03)
lz4 lz4dec 97 11,630(70.98%) 608,127(LDIR x 1.61)
lz4 unlz4_spke 103 11,630(70.98%) 565,459(LDIR x 1.50)
lz4 unlz4_spke_fast 96 11,630(70.98%) 548,512(LDIR x 1.45)
lz4 unlz4_spke_small 65 11,630(70.98%) 564,733(LDIR x 1.49)
lz48 lz48decrunch_v006_ 70 12,121(73.98%) 593,944(LDIR x 1.57)
lz48 lz48decrunch_v006__180 71 12,121(73.98%) 567,709(LDIR x 1.50)
lz49 lz49decrunch_v001 106 11,980(73.12%) 648,929(LDIR x 1.72)
lz49 lz49decrunch_v001_180 101 11,980(73.12%) 632,313(LDIR x 1.67)
lze lzdec 119 10,830(66.10%) 1,270,114(LDIR x 3.37)
lze dlze_fast 90 10,830(66.10%) 949,985(LDIR x 2.52)
lze dlze_small 82 10,830(66.10%) 1,237,998(LDIR x 3.28)
lzee dlzee_fast 84 10,826(66.07%) 928,895(LDIR x 2.46)
lzee dlzee_small 76 10,826(66.07%) 1,216,908(LDIR x 3.22)
lzsa1 unlzsa1_fast 111 11,047(67.42%) 566,134(LDIR x 1.50)
lzsa1 unlzsa1_small 67 11,047(67.42%) 618,612(LDIR x 1.64)
lzsa2 unlzsa2_fast 216 10,342(63.12%) 858,167(LDIR x 2.27)
lzsa2 unlzsa2_fast_180 214 10,342(63.12%) 871,159(LDIR x 2.31)
lzsa2 unlzsa2_small 139 10,342(63.12%) 968,332(LDIR x 2.56)
lzsa2 unlzsa2_small_180 137 10,342(63.12%) 981,324(LDIR x 2.60)
MegaLZ megalz_dec40 110 10,407(63.51%) 2,560,679(LDIR x 6.79)
MegaLZ unmegalz_fast_v2 233 10,407(63.51%) 1,164,712(LDIR x 3.09)
MegaLZ unmegalz_fast_v2p1 229 10,407(63.51%) 1,155,838(LDIR x 3.06)
MegaLZ unmegalz_small_v2 92 10,407(63.51%) 1,804,490(LDIR x 4.78)
Pletter unpletter 170 10,466(63.87%) 1,474,879(LDIR x 3.91)
Pletter unpletter_180 146 10,466(63.87%) 1,372,670(LDIR x 3.64)
Shrinkler shrinkler_recall_209 209 9,536(58.20%) 157,373,448(LDIR x 417.61)
Shrinkler shrinkler_recall_209_r800_rom 209 9,536(58.20%) 156,716,164(LDIR x 415.87)
zx7 dzx7_lom_v1 214 10,515(64.17%) 1,216,320(LDIR x 3.22)
zx7 dzx7_lom_v1p1 214 10,515(64.17%) 1,188,674(LDIR x 3.15)
zx7 dzx7_turbo 88 10,515(64.17%) 1,421,903(LDIR x 3.77)
zx7 dzx7_standard 69 10,515(64.17%) 1,877,019(LDIR x 4.98)
zx7b dzx7b_fast 191 10,495(64.05%) 1,103,981(LDIR x 2.92)
zx7b dzx7b_fast_r800 184 10,495(64.05%) 1,092,370(LDIR x 2.89)
zx7b dzx7b_slow 64 10,495(64.05%) 1,753,820(LDIR x 4.65)
zx7b dzx7b_slow_r800 64 10,495(64.05%) 1,753,820(LDIR x 4.65)
zx7mini dzx7mini 39 12,073(73.68%) 1,208,995(LDIR x 3.20)

test data:MSX2EXT.B00(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 12,361(75.44%) 4,146,058(LDIR x 11.00)
ApLib aplib247b 249 12,361(75.44%) 2,482,638(LDIR x 6.58)
ApLib aplib247b_180_minimal 152 12,361(75.44%) 3,101,982(LDIR x 8.23)
ApLib aplib247b_180_small 171 12,361(75.44%) 2,394,822(LDIR x 6.35)
ApLib aplib247b_180_fast 234 12,361(75.44%) 2,291,135(LDIR x 6.07)
Exomizer2 deexo 169 12,351(75.38%) 8,066,566(LDIR x 21.40)
Exomizer2 deexo_180 166 12,351(75.38%) 8,066,560(LDIR x 21.40)
Exomizer2 deexo_180_fast_jp 176 12,351(75.38%) 6,927,202(LDIR x 18.38)
Exomizer2 deexoopt_f3_180_p0 242 12,351(75.38%) 5,487,189(LDIR x 14.56)
Exomizer3 deexo3p7 176 12,351(75.38%) 6,374,679(LDIR x 16.91)
Exomizer3 deexo3p7_fast_jp 181 12,351(75.38%) 5,452,809(LDIR x 14.46)
Exomizer3 deexoopt_p7 219 12,351(75.38%) 4,856,626(LDIR x 12.88)
Exomizer3 deexoopt_f3_p7 212 12,351(75.38%) 4,657,693(LDIR x 12.35)
Exomizer3 deexoopt_f3_180_p7 219 12,351(75.38%) 4,857,716(LDIR x 12.89)
hrust dehrust_ix 234 12,331(75.26%) 3,118,348(LDIR x 8.27)
hrust dehrust_ix_233b 233 12,331(75.26%) 3,118,343(LDIR x 8.27)
hrust dehrust_stk 209 12,331(75.26%) 2,808,254(LDIR x 7.45)
lz4 lz4dec 97 14,578(88.97%) 625,070(LDIR x 1.65)
lz4 unlz4_spke 103 14,578(88.97%) 577,220(LDIR x 1.53)
lz4 unlz4_spke_fast 96 14,578(88.97%) 559,438(LDIR x 1.48)
lz4 unlz4_spke_small 65 14,578(88.97%) 578,472(LDIR x 1.53)
lz48 lz48decrunch_v006_ 70 14,074(85.90%) 633,823(LDIR x 1.68)
lz48 lz48decrunch_v006__180 71 14,074(85.90%) 602,329(LDIR x 1.59)
lz49 lz49decrunch_v001 106 13,969(85.26%) 708,915(LDIR x 1.88)
lz49 lz49decrunch_v001_180 101 13,969(85.26%) 685,181(LDIR x 1.81)
lze lzdec 119 13,303(81.19%) 1,505,104(LDIR x 3.99)
lze dlze_fast 90 13,303(81.19%) 1,105,496(LDIR x 2.93)
lze dlze_small 82 13,303(81.19%) 1,469,437(LDIR x 3.89)
lzee dlzee_fast 84 13,299(81.17%) 1,079,726(LDIR x 2.86)
lzee dlzee_small 76 13,299(81.17%) 1,443,667(LDIR x 3.83)
lzsa1 unlzsa1_fast 111 13,719(83.73%) 617,160(LDIR x 1.63)
lzsa1 unlzsa1_small 67 13,719(83.73%) 684,213(LDIR x 1.81)
lzsa2 unlzsa2_fast 216 12,807(78.16%) 998,919(LDIR x 2.65)
lzsa2 unlzsa2_fast_180 214 12,807(78.16%) 1,016,159(LDIR x 2.69)
lzsa2 unlzsa2_small 139 12,807(78.16%) 1,135,854(LDIR x 3.01)
lzsa2 unlzsa2_small_180 137 12,807(78.16%) 1,153,094(LDIR x 3.05)
MegaLZ megalz_dec40 110 12,833(78.32%) 3,030,834(LDIR x 8.04)
MegaLZ unmegalz_fast_v2 233 12,833(78.32%) 1,318,517(LDIR x 3.49)
MegaLZ unmegalz_fast_v2p1 229 12,833(78.32%) 1,305,298(LDIR x 3.46)
MegaLZ unmegalz_small_v2 92 12,833(78.32%) 2,100,776(LDIR x 5.57)
Pletter unpletter 170 12,858(78.47%) 2,027,765(LDIR x 5.38)
Pletter unpletter_180 146 12,858(78.47%) 1,886,670(LDIR x 5.00)
Shrinkler shrinkler_recall_209 209 11,820(72.14%) 196,044,987(LDIR x 520.23)
Shrinkler shrinkler_recall_209_r800_rom 209 11,820(72.14%) 195,221,406(LDIR x 518.05)
zx7 dzx7_lom_v1 214 12,943(78.99%) 1,480,424(LDIR x 3.92)
zx7 dzx7_lom_v1p1 214 12,943(78.99%) 1,442,074(LDIR x 3.82)
zx7 dzx7_turbo 88 12,943(78.99%) 1,746,118(LDIR x 4.63)
zx7 dzx7_standard 69 12,943(78.99%) 2,342,486(LDIR x 6.21)
zx7b dzx7b_fast 191 12,964(79.12%) 1,328,878(LDIR x 3.52)
zx7b dzx7b_fast_r800 184 12,964(79.12%) 1,312,907(LDIR x 3.48)
zx7b dzx7b_slow 64 12,964(79.12%) 2,165,985(LDIR x 5.74)
zx7b dzx7b_slow_r800 64 12,964(79.12%) 2,165,985(LDIR x 5.74)
zx7mini dzx7mini 39 13,874(84.68%) 1,343,213(LDIR x 3.56)

test data:KANJJ1.B00(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 6,223(37.98%) 2,948,079(LDIR x 7.82)
ApLib aplib247b 249 6,223(37.98%) 1,800,346(LDIR x 4.77)
ApLib aplib247b_180_minimal 152 6,223(37.98%) 2,260,059(LDIR x 5.99)
ApLib aplib247b_180_small 171 6,223(37.98%) 1,783,265(LDIR x 4.73)
ApLib aplib247b_180_fast 234 6,223(37.98%) 1,682,457(LDIR x 4.46)
Exomizer2 deexo 169 6,097(37.21%) 5,111,648(LDIR x 13.56)
Exomizer2 deexo_180 166 6,097(37.21%) 5,111,742(LDIR x 13.56)
Exomizer2 deexo_180_fast_jp 176 6,097(37.21%) 4,404,488(LDIR x 11.68)
Exomizer2 deexoopt_f3_180_p0 242 6,097(37.21%) 3,560,615(LDIR x 9.44)
Exomizer3 deexo3p7 176 6,097(37.21%) 3,967,129(LDIR x 10.52)
Exomizer3 deexo3p7_fast_jp 181 6,097(37.21%) 3,411,495(LDIR x 9.05)
Exomizer3 deexoopt_p7 219 6,097(37.21%) 3,141,994(LDIR x 8.33)
Exomizer3 deexoopt_f3_p7 212 6,097(37.21%) 3,021,020(LDIR x 8.01)
Exomizer3 deexoopt_f3_180_p7 219 6,097(37.21%) 3,138,223(LDIR x 8.32)
hrust dehrust_ix 234 6,434(39.27%) 2,481,382(LDIR x 6.58)
hrust dehrust_ix_233b 233 6,434(39.27%) 2,481,377(LDIR x 6.58)
hrust dehrust_stk 209 6,434(39.27%) 2,291,475(LDIR x 6.08)
lz4 lz4dec 97 8,088(49.36%) 800,354(LDIR x 2.12)
lz4 unlz4_spke 103 8,088(49.36%) 728,699(LDIR x 1.93)
lz4 unlz4_spke_fast 96 8,088(49.36%) 692,748(LDIR x 1.83)
lz4 unlz4_spke_small 65 8,088(49.36%) 718,914(LDIR x 1.90)
lz48 lz48decrunch_v006_ 70 8,167(49.84%) 735,565(LDIR x 1.95)
lz48 lz48decrunch_v006__180 71 8,167(49.84%) 687,419(LDIR x 1.82)
lz49 lz49decrunch_v001 106 7,824(47.75%) 820,492(LDIR x 2.17)
lz49 lz49decrunch_v001_180 101 7,824(47.75%) 789,822(LDIR x 2.09)
lze lzdec 119 7,027(42.88%) 1,145,514(LDIR x 3.03)
lze dlze_fast 90 7,027(42.88%) 988,066(LDIR x 2.62)
lze dlze_small 82 7,027(42.88%) 1,179,288(LDIR x 3.12)
lzee dlzee_fast 84 7,023(42.86%) 941,626(LDIR x 2.49)
lzee dlzee_small 76 7,023(42.86%) 1,132,848(LDIR x 3.00)
lzsa1 unlzsa1_fast 111 7,316(44.65%) 667,130(LDIR x 1.77)
lzsa1 unlzsa1_small 67 7,316(44.65%) 752,116(LDIR x 1.99)
lzsa2 unlzsa2_fast 216 6,428(39.23%) 950,322(LDIR x 2.52)
lzsa2 unlzsa2_fast_180 214 6,428(39.23%) 966,498(LDIR x 2.56)
lzsa2 unlzsa2_small 139 6,428(39.23%) 1,074,963(LDIR x 2.85)
lzsa2 unlzsa2_small_180 137 6,428(39.23%) 1,091,139(LDIR x 2.89)
MegaLZ megalz_dec40 110 6,514(39.75%) 2,432,743(LDIR x 6.45)
MegaLZ unmegalz_fast_v2 233 6,514(39.75%) 1,220,803(LDIR x 3.23)
MegaLZ unmegalz_fast_v2p1 229 6,514(39.75%) 1,214,359(LDIR x 3.22)
MegaLZ unmegalz_small_v2 92 6,514(39.75%) 1,823,065(LDIR x 4.83)
Pletter unpletter 170 6,511(39.73%) 1,461,388(LDIR x 3.87)
Pletter unpletter_180 146 6,511(39.73%) 1,381,448(LDIR x 3.66)
Shrinkler shrinkler_recall_209 209 5,728(34.96%) 102,142,021(LDIR x 271.05)
Shrinkler shrinkler_recall_209_r800_rom 209 5,728(34.96%) 101,844,323(LDIR x 270.26)
zx7 dzx7_lom_v1 214 6,532(39.86%) 1,340,012(LDIR x 3.55)
zx7 dzx7_lom_v1p1 214 6,532(39.86%) 1,309,750(LDIR x 3.47)
zx7 dzx7_turbo 88 6,532(39.86%) 1,525,498(LDIR x 4.04)
zx7 dzx7_standard 69 6,532(39.86%) 1,983,679(LDIR x 5.26)
zx7b dzx7b_fast 191 6,591(40.22%) 1,161,342(LDIR x 3.08)
zx7b dzx7b_fast_r800 184 6,591(40.22%) 1,148,786(LDIR x 3.04)
zx7b dzx7b_slow 64 6,591(40.22%) 1,765,077(LDIR x 4.68)
zx7b dzx7b_slow_r800 64 6,591(40.22%) 1,765,077(LDIR x 4.68)
zx7mini dzx7mini 39 7,390(45.10%) 1,204,966(LDIR x 3.19)

test data:KANJJ1.B01(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 4,092(24.97%) 2,125,944(LDIR x 5.64)
ApLib aplib247b 249 4,092(24.97%) 1,346,372(LDIR x 3.57)
ApLib aplib247b_180_minimal 152 4,092(24.97%) 1,660,683(LDIR x 4.40)
ApLib aplib247b_180_small 171 4,092(24.97%) 1,337,045(LDIR x 3.54)
ApLib aplib247b_180_fast 234 4,092(24.97%) 1,267,103(LDIR x 3.36)
Exomizer2 deexo 169 3,975(24.26%) 3,493,148(LDIR x 9.26)
Exomizer2 deexo_180 166 3,975(24.26%) 3,493,202(LDIR x 9.26)
Exomizer2 deexo_180_fast_jp 176 3,975(24.26%) 3,025,459(LDIR x 8.02)
Exomizer2 deexoopt_f3_180_p0 242 3,975(24.26%) 2,456,792(LDIR x 6.51)
Exomizer3 deexo3p7 176 3,974(24.25%) 2,708,049(LDIR x 7.18)
Exomizer3 deexo3p7_fast_jp 181 3,974(24.25%) 2,345,386(LDIR x 6.22)
Exomizer3 deexoopt_p7 219 3,974(24.25%) 2,176,336(LDIR x 5.77)
Exomizer3 deexoopt_f3_p7 212 3,974(24.25%) 2,096,142(LDIR x 5.56)
Exomizer3 deexoopt_f3_180_p7 219 3,974(24.25%) 2,170,705(LDIR x 5.76)
hrust dehrust_ix 234 4,230(25.81%) 1,820,188(LDIR x 4.83)
hrust dehrust_ix_233b 233 4,230(25.81%) 1,820,183(LDIR x 4.83)
hrust dehrust_stk 209 4,230(25.81%) 1,692,991(LDIR x 4.49)
lz4 lz4dec 97 5,431(33.14%) 686,985(LDIR x 1.82)
lz4 unlz4_spke 103 5,431(33.14%) 635,269(LDIR x 1.68)
lz4 unlz4_spke_fast 96 5,431(33.14%) 609,051(LDIR x 1.61)
lz4 unlz4_spke_small 65 5,431(33.14%) 627,506(LDIR x 1.66)
lz48 lz48decrunch_v006_ 70 5,532(33.76%) 654,070(LDIR x 1.73)
lz48 lz48decrunch_v006__180 71 5,532(33.76%) 616,778(LDIR x 1.63)
lz49 lz49decrunch_v001 106 5,240(31.98%) 714,209(LDIR x 1.89)
lz49 lz49decrunch_v001_180 101 5,240(31.98%) 690,471(LDIR x 1.83)
lze lzdec 119 4,664(28.46%) 907,166(LDIR x 2.40)
lze dlze_fast 90 4,664(28.46%) 805,837(LDIR x 2.13)
lze dlze_small 82 4,664(28.46%) 934,476(LDIR x 2.47)
lzee dlzee_fast 84 4,660(28.44%) 772,507(LDIR x 2.04)
lzee dlzee_small 76 4,660(28.44%) 901,146(LDIR x 2.39)
lzsa1 unlzsa1_fast 111 4,804(29.32%) 588,549(LDIR x 1.56)
lzsa1 unlzsa1_small 67 4,804(29.32%) 650,418(LDIR x 1.72)
lzsa2 unlzsa2_fast 216 4,244(25.90%) 776,502(LDIR x 2.06)
lzsa2 unlzsa2_fast_180 214 4,244(25.90%) 787,798(LDIR x 2.09)
lzsa2 unlzsa2_small 139 4,244(25.90%) 862,982(LDIR x 2.29)
lzsa2 unlzsa2_small_180 137 4,244(25.90%) 874,278(LDIR x 2.32)
MegaLZ megalz_dec40 110 4,320(26.36%) 1,795,413(LDIR x 4.76)
MegaLZ unmegalz_fast_v2 233 4,320(26.36%) 969,230(LDIR x 2.57)
MegaLZ unmegalz_fast_v2p1 229 4,320(26.36%) 965,401(LDIR x 2.56)
MegaLZ unmegalz_small_v2 92 4,320(26.36%) 1,383,479(LDIR x 3.67)
Pletter unpletter 170 4,269(26.05%) 1,106,926(LDIR x 2.93)
Pletter unpletter_180 146 4,269(26.05%) 1,055,166(LDIR x 2.80)
Shrinkler shrinkler_recall_209 209 3,700(22.58%) 65,685,212(LDIR x 174.30)
Shrinkler shrinkler_recall_209_r800_rom 209 3,700(22.58%) 65,481,435(LDIR x 173.76)
zx7 dzx7_lom_v1 214 4,401(26.86%) 1,054,761(LDIR x 2.79)
zx7 dzx7_lom_v1p1 214 4,401(26.86%) 1,033,955(LDIR x 2.74)
zx7 dzx7_turbo 88 4,401(26.86%) 1,182,380(LDIR x 3.13)
zx7 dzx7_standard 69 4,401(26.86%) 1,499,336(LDIR x 3.97)
zx7b dzx7b_fast 191 4,424(27.00%) 930,945(LDIR x 2.47)
zx7b dzx7b_fast_r800 184 4,424(27.00%) 922,119(LDIR x 2.44)
zx7b dzx7b_slow 64 4,424(27.00%) 1,349,287(LDIR x 3.58)
zx7b dzx7b_slow_r800 64 4,424(27.00%) 1,349,287(LDIR x 3.58)
zx7mini dzx7mini 39 4,921(30.03%) 977,146(LDIR x 2.59)

test data:KANJJ1.B02(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 10,835(66.13%) 4,339,434(LDIR x 11.51)
ApLib aplib247b 249 10,835(66.13%) 2,572,508(LDIR x 6.82)
ApLib aplib247b_180_minimal 152 10,835(66.13%) 3,252,893(LDIR x 8.63)
ApLib aplib247b_180_small 171 10,835(66.13%) 2,510,373(LDIR x 6.66)
ApLib aplib247b_180_fast 234 10,835(66.13%) 2,373,738(LDIR x 6.29)
Exomizer2 deexo 169 10,688(65.23%) 7,768,783(LDIR x 20.61)
Exomizer2 deexo_180 166 10,688(65.23%) 7,768,753(LDIR x 20.61)
Exomizer2 deexo_180_fast_jp 176 10,688(65.23%) 6,631,200(LDIR x 17.59)
Exomizer2 deexoopt_f3_180_p0 242 10,688(65.23%) 5,287,280(LDIR x 14.03)
Exomizer3 deexo3p7 176 10,688(65.23%) 5,531,415(LDIR x 14.67)
Exomizer3 deexo3p7_fast_jp 181 10,688(65.23%) 4,754,980(LDIR x 12.61)
Exomizer3 deexoopt_p7 219 10,688(65.23%) 4,341,061(LDIR x 11.51)
Exomizer3 deexoopt_f3_p7 212 10,688(65.23%) 4,174,824(LDIR x 11.07)
Exomizer3 deexoopt_f3_180_p7 219 10,688(65.23%) 4,347,582(LDIR x 11.53)
hrust dehrust_ix 234 10,940(66.77%) 3,282,337(LDIR x 8.71)
hrust dehrust_ix_233b 233 10,940(66.77%) 3,282,332(LDIR x 8.71)
hrust dehrust_stk 209 10,940(66.77%) 2,988,194(LDIR x 7.92)
lz4 lz4dec 97 13,003(79.36%) 807,802(LDIR x 2.14)
lz4 unlz4_spke 103 13,003(79.36%) 732,315(LDIR x 1.94)
lz4 unlz4_spke_fast 96 13,003(79.36%) 698,384(LDIR x 1.85)
lz4 unlz4_spke_small 65 13,003(79.36%) 726,044(LDIR x 1.92)
lz48 lz48decrunch_v006_ 70 14,290(87.21%) 656,629(LDIR x 1.74)
lz48 lz48decrunch_v006__180 71 14,290(87.21%) 622,804(LDIR x 1.65)
lz49 lz49decrunch_v001 106 13,985(85.35%) 783,598(LDIR x 2.07)
lz49 lz49decrunch_v001_180 101 13,985(85.35%) 758,900(LDIR x 2.01)
lze lzdec 119 11,696(71.38%) 1,503,720(LDIR x 3.99)
lze dlze_fast 90 11,696(71.38%) 1,214,960(LDIR x 3.22)
lze dlze_small 82 11,696(71.38%) 1,519,240(LDIR x 4.03)
lzee dlzee_fast 84 11,692(71.36%) 1,154,330(LDIR x 3.06)
lzee dlzee_small 76 11,692(71.36%) 1,458,610(LDIR x 3.87)
lzsa1 unlzsa1_fast 111 12,544(76.56%) 713,593(LDIR x 1.89)
lzsa1 unlzsa1_small 67 12,544(76.56%) 809,337(LDIR x 2.14)
lzsa2 unlzsa2_fast 216 11,292(68.92%) 1,144,913(LDIR x 3.03)
lzsa2 unlzsa2_fast_180 214 11,292(68.92%) 1,165,857(LDIR x 3.09)
lzsa2 unlzsa2_small 139 11,292(68.92%) 1,318,455(LDIR x 3.49)
lzsa2 unlzsa2_small_180 137 11,292(68.92%) 1,339,399(LDIR x 3.55)
MegaLZ megalz_dec40 110 11,362(69.34%) 3,337,759(LDIR x 8.85)
MegaLZ unmegalz_fast_v2 233 11,362(69.34%) 1,498,314(LDIR x 3.97)
MegaLZ unmegalz_fast_v2p1 229 11,362(69.34%) 1,485,225(LDIR x 3.94)
MegaLZ unmegalz_small_v2 92 11,362(69.34%) 2,398,346(LDIR x 6.36)
Pletter unpletter 170 11,340(69.21%) 2,176,730(LDIR x 5.77)
Pletter unpletter_180 146 11,340(69.21%) 2,041,458(LDIR x 5.41)
Shrinkler shrinkler_recall_209 209 10,212(62.32%) 184,251,287(LDIR x 488.94)
Shrinkler shrinkler_recall_209_r800_rom 209 10,212(62.32%) 183,705,317(LDIR x 487.49)
zx7 dzx7_lom_v1 214 11,623(70.94%) 1,725,942(LDIR x 4.58)
zx7 dzx7_lom_v1p1 214 11,623(70.94%) 1,679,024(LDIR x 4.45)
zx7 dzx7_turbo 88 11,623(70.94%) 2,018,166(LDIR x 5.35)
zx7 dzx7_standard 69 11,623(70.94%) 2,747,252(LDIR x 7.29)
zx7b dzx7b_fast 191 11,629(70.97%) 1,530,270(LDIR x 4.06)
zx7b dzx7b_fast_r800 184 11,629(70.97%) 1,510,669(LDIR x 4.00)
zx7b dzx7b_slow 64 11,629(70.97%) 2,506,048(LDIR x 6.65)
zx7b dzx7b_slow_r800 64 11,629(70.97%) 2,506,048(LDIR x 6.65)
zx7mini dzx7mini 39 13,428(81.95%) 1,421,649(LDIR x 3.77)

test data:KANJJ1.B03(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 10,643(64.95%) 4,332,516(LDIR x 11.49)
ApLib aplib247b 249 10,643(64.95%) 2,565,213(LDIR x 6.80)
ApLib aplib247b_180_minimal 152 10,643(64.95%) 3,249,206(LDIR x 8.62)
ApLib aplib247b_180_small 171 10,643(64.95%) 2,505,701(LDIR x 6.64)
ApLib aplib247b_180_fast 234 10,643(64.95%) 2,368,308(LDIR x 6.28)
Exomizer2 deexo 169 10,510(64.14%) 7,603,571(LDIR x 20.17)
Exomizer2 deexo_180 166 10,510(64.14%) 7,603,537(LDIR x 20.17)
Exomizer2 deexo_180_fast_jp 176 10,510(64.14%) 6,486,424(LDIR x 17.21)
Exomizer2 deexoopt_f3_180_p0 242 10,510(64.14%) 5,177,222(LDIR x 13.73)
Exomizer3 deexo3p7 176 10,509(64.14%) 5,446,711(LDIR x 14.45)
Exomizer3 deexo3p7_fast_jp 181 10,509(64.14%) 4,671,690(LDIR x 12.39)
Exomizer3 deexoopt_p7 219 10,509(64.14%) 4,275,571(LDIR x 11.34)
Exomizer3 deexoopt_f3_p7 212 10,509(64.14%) 4,114,737(LDIR x 10.91)
Exomizer3 deexoopt_f3_180_p7 219 10,509(64.14%) 4,282,206(LDIR x 11.36)
hrust dehrust_ix 234 10,753(65.63%) 3,241,681(LDIR x 8.60)
hrust dehrust_ix_233b 233 10,753(65.63%) 3,241,676(LDIR x 8.60)
hrust dehrust_stk 209 10,753(65.63%) 2,951,087(LDIR x 7.83)
lz4 lz4dec 97 12,732(77.70%) 806,560(LDIR x 2.14)
lz4 unlz4_spke 103 12,732(77.70%) 731,403(LDIR x 1.94)
lz4 unlz4_spke_fast 96 12,732(77.70%) 697,024(LDIR x 1.84)
lz4 unlz4_spke_small 65 12,732(77.70%) 724,736(LDIR x 1.92)
lz48 lz48decrunch_v006_ 70 14,024(85.59%) 668,286(LDIR x 1.77)
lz48 lz48decrunch_v006__180 71 14,024(85.59%) 632,410(LDIR x 1.67)
lz49 lz49decrunch_v001 106 13,761(83.99%) 786,435(LDIR x 2.08)
lz49 lz49decrunch_v001_180 101 13,761(83.99%) 761,096(LDIR x 2.01)
lze lzdec 119 11,493(70.14%) 1,480,718(LDIR x 3.92)
lze dlze_fast 90 11,493(70.14%) 1,200,648(LDIR x 3.18)
lze dlze_small 82 11,493(70.14%) 1,496,520(LDIR x 3.97)
lzee dlzee_fast 84 11,489(70.12%) 1,139,988(LDIR x 3.02)
lzee dlzee_small 76 11,489(70.12%) 1,435,860(LDIR x 3.81)
lzsa1 unlzsa1_fast 111 12,252(74.78%) 718,488(LDIR x 1.90)
lzsa1 unlzsa1_small 67 12,252(74.78%) 816,475(LDIR x 2.16)
lzsa2 unlzsa2_fast 216 11,060(67.50%) 1,115,957(LDIR x 2.96)
lzsa2 unlzsa2_fast_180 214 11,060(67.50%) 1,136,261(LDIR x 3.01)
lzsa2 unlzsa2_small 139 11,060(67.50%) 1,281,035(LDIR x 3.39)
lzsa2 unlzsa2_small_180 137 11,060(67.50%) 1,301,339(LDIR x 3.45)
MegaLZ megalz_dec40 110 11,161(68.12%) 3,294,363(LDIR x 8.74)
MegaLZ unmegalz_fast_v2 233 11,161(68.12%) 1,485,045(LDIR x 3.94)
MegaLZ unmegalz_fast_v2p1 229 11,161(68.12%) 1,472,366(LDIR x 3.90)
MegaLZ unmegalz_small_v2 92 11,161(68.12%) 2,371,355(LDIR x 6.29)
Pletter unpletter 170 11,105(67.77%) 2,137,378(LDIR x 5.67)
Pletter unpletter_180 146 11,105(67.77%) 2,006,049(LDIR x 5.32)
Shrinkler shrinkler_recall_209 209 10,020(61.15%) 181,710,794(LDIR x 482.19)
Shrinkler shrinkler_recall_209_r800_rom 209 10,020(61.15%) 181,175,720(LDIR x 480.77)
zx7 dzx7_lom_v1 214 11,436(69.79%) 1,710,251(LDIR x 4.53)
zx7 dzx7_lom_v1p1 214 11,436(69.79%) 1,664,221(LDIR x 4.41)
zx7 dzx7_turbo 88 11,436(69.79%) 1,999,268(LDIR x 5.30)
zx7 dzx7_standard 69 11,436(69.79%) 2,721,231(LDIR x 7.22)
zx7b dzx7b_fast 191 11,451(69.89%) 1,505,939(LDIR x 3.99)
zx7b dzx7b_fast_r800 184 11,451(69.89%) 1,486,973(LDIR x 3.94)
zx7b dzx7b_slow 64 11,451(69.89%) 2,465,218(LDIR x 6.54)
zx7b dzx7b_slow_r800 64 11,451(69.89%) 2,465,218(LDIR x 6.54)
zx7mini dzx7mini 39 13,182(80.45%) 1,423,611(LDIR x 3.77)

test data:KANJJ1.B04(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 10,521(64.21%) 4,260,868(LDIR x 11.30)
ApLib aplib247b 249 10,521(64.21%) 2,526,731(LDIR x 6.70)
ApLib aplib247b_180_minimal 152 10,521(64.21%) 3,197,914(LDIR x 8.48)
ApLib aplib247b_180_small 171 10,521(64.21%) 2,470,228(LDIR x 6.55)
ApLib aplib247b_180_fast 234 10,521(64.21%) 2,333,328(LDIR x 6.19)
Exomizer2 deexo 169 10,415(63.56%) 7,416,607(LDIR x 19.68)
Exomizer2 deexo_180 166 10,415(63.56%) 7,416,561(LDIR x 19.68)
Exomizer2 deexo_180_fast_jp 176 10,415(63.56%) 6,334,154(LDIR x 16.80)
Exomizer2 deexoopt_f3_180_p0 242 10,415(63.56%) 5,057,178(LDIR x 13.42)
Exomizer3 deexo3p7 176 10,415(63.56%) 5,360,921(LDIR x 14.22)
Exomizer3 deexo3p7_fast_jp 181 10,415(63.56%) 4,602,224(LDIR x 12.21)
Exomizer3 deexoopt_p7 219 10,415(63.56%) 4,200,109(LDIR x 11.14)
Exomizer3 deexoopt_f3_p7 212 10,415(63.56%) 4,039,310(LDIR x 10.71)
Exomizer3 deexoopt_f3_180_p7 219 10,415(63.56%) 4,205,016(LDIR x 11.15)
hrust dehrust_ix 234 10,679(65.17%) 3,238,228(LDIR x 8.59)
hrust dehrust_ix_233b 233 10,679(65.17%) 3,238,223(LDIR x 8.59)
hrust dehrust_stk 209 10,679(65.17%) 2,950,117(LDIR x 7.82)
lz4 lz4dec 97 12,673(77.34%) 825,069(LDIR x 2.18)
lz4 unlz4_spke 103 12,673(77.34%) 747,091(LDIR x 1.98)
lz4 unlz4_spke_fast 96 12,673(77.34%) 711,053(LDIR x 1.88)
lz4 unlz4_spke_small 65 12,673(77.34%) 739,669(LDIR x 1.96)
lz48 lz48decrunch_v006_ 70 13,960(85.20%) 673,078(LDIR x 1.78)
lz48 lz48decrunch_v006__180 71 13,960(85.20%) 636,201(LDIR x 1.68)
lz49 lz49decrunch_v001 106 13,717(83.72%) 784,719(LDIR x 2.08)
lz49 lz49decrunch_v001_180 101 13,717(83.72%) 758,523(LDIR x 2.01)
lze lzdec 119 11,373(69.41%) 1,480,839(LDIR x 3.92)
lze dlze_fast 90 11,373(69.41%) 1,202,079(LDIR x 3.18)
lze dlze_small 82 11,373(69.41%) 1,498,278(LDIR x 3.97)
lzee dlzee_fast 84 11,369(69.39%) 1,141,659(LDIR x 3.02)
lzee dlzee_small 76 11,369(69.39%) 1,437,858(LDIR x 3.81)
lzsa1 unlzsa1_fast 111 12,189(74.39%) 720,251(LDIR x 1.91)
lzsa1 unlzsa1_small 67 12,189(74.39%) 818,902(LDIR x 2.17)
lzsa2 unlzsa2_fast 216 10,940(66.77%) 1,129,639(LDIR x 2.99)
lzsa2 unlzsa2_fast_180 214 10,940(66.77%) 1,150,239(LDIR x 3.05)
lzsa2 unlzsa2_small 139 10,940(66.77%) 1,299,117(LDIR x 3.44)
lzsa2 unlzsa2_small_180 137 10,940(66.77%) 1,319,717(LDIR x 3.50)
MegaLZ megalz_dec40 110 11,016(67.23%) 3,271,673(LDIR x 8.68)
MegaLZ unmegalz_fast_v2 233 11,016(67.23%) 1,479,510(LDIR x 3.92)
MegaLZ unmegalz_fast_v2p1 229 11,016(67.23%) 1,467,286(LDIR x 3.89)
MegaLZ unmegalz_small_v2 92 11,016(67.23%) 2,355,764(LDIR x 6.25)
Pletter unpletter 170 10,992(67.08%) 2,130,343(LDIR x 5.65)
Pletter unpletter_180 146 10,992(67.08%) 2,000,018(LDIR x 5.30)
Shrinkler shrinkler_recall_209 209 9,876(60.27%) 179,896,027(LDIR x 477.38)
Shrinkler shrinkler_recall_209_r800_rom 209 9,876(60.27%) 179,386,066(LDIR x 476.02)
zx7 dzx7_lom_v1 214 11,337(69.19%) 1,707,459(LDIR x 4.53)
zx7 dzx7_lom_v1p1 214 11,337(69.19%) 1,661,513(LDIR x 4.40)
zx7 dzx7_turbo 88 11,337(69.19%) 1,995,177(LDIR x 5.29)
zx7 dzx7_standard 69 11,337(69.19%) 2,711,216(LDIR x 7.19)
zx7b dzx7b_fast 191 11,327(69.13%) 1,521,877(LDIR x 4.03)
zx7b dzx7b_fast_r800 184 11,327(69.13%) 1,502,566(LDIR x 3.98)
zx7b dzx7b_slow 64 11,327(69.13%) 2,488,567(LDIR x 6.60)
zx7b dzx7b_slow_r800 64 11,327(69.13%) 2,488,567(LDIR x 6.60)
zx7mini dzx7mini 39 13,091(79.90%) 1,419,494(LDIR x 3.76)

test data:KANJJ1.B05(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 10,455(63.81%) 4,226,479(LDIR x 11.21)
ApLib aplib247b 249 10,455(63.81%) 2,501,490(LDIR x 6.63)
ApLib aplib247b_180_minimal 152 10,455(63.81%) 3,170,556(LDIR x 8.41)
ApLib aplib247b_180_small 171 10,455(63.81%) 2,447,398(LDIR x 6.49)
ApLib aplib247b_180_fast 234 10,455(63.81%) 2,309,474(LDIR x 6.12)
Exomizer2 deexo 169 10,348(63.15%) 7,475,213(LDIR x 19.83)
Exomizer2 deexo_180 166 10,348(63.15%) 7,475,183(LDIR x 19.83)
Exomizer2 deexo_180_fast_jp 176 10,348(63.15%) 6,378,127(LDIR x 16.92)
Exomizer2 deexoopt_f3_180_p0 242 10,348(63.15%) 5,088,918(LDIR x 13.50)
Exomizer3 deexo3p7 176 10,347(63.15%) 5,383,242(LDIR x 14.28)
Exomizer3 deexo3p7_fast_jp 181 10,347(63.15%) 4,616,542(LDIR x 12.25)
Exomizer3 deexoopt_p7 219 10,347(63.15%) 4,216,060(LDIR x 11.18)
Exomizer3 deexoopt_f3_p7 212 10,347(63.15%) 4,056,164(LDIR x 10.76)
Exomizer3 deexoopt_f3_180_p7 219 10,347(63.15%) 4,221,173(LDIR x 11.20)
hrust dehrust_ix 234 10,597(64.67%) 3,215,584(LDIR x 8.53)
hrust dehrust_ix_233b 233 10,597(64.67%) 3,215,579(LDIR x 8.53)
hrust dehrust_stk 209 10,597(64.67%) 2,927,176(LDIR x 7.76)
lz4 lz4dec 97 12,535(76.50%) 814,595(LDIR x 2.16)
lz4 unlz4_spke 103 12,535(76.50%) 738,295(LDIR x 1.95)
lz4 unlz4_spke_fast 96 12,535(76.50%) 703,309(LDIR x 1.86)
lz4 unlz4_spke_small 65 12,535(76.50%) 731,295(LDIR x 1.94)
lz48 lz48decrunch_v006_ 70 13,952(85.15%) 667,919(LDIR x 1.77)
lz48 lz48decrunch_v006__180 71 13,952(85.15%) 631,875(LDIR x 1.67)
lz49 lz49decrunch_v001 106 13,674(83.45%) 789,919(LDIR x 2.09)
lz49 lz49decrunch_v001_180 101 13,674(83.45%) 764,023(LDIR x 2.02)
lze lzdec 119 11,283(68.86%) 1,468,273(LDIR x 3.89)
lze dlze_fast 90 11,283(68.86%) 1,194,199(LDIR x 3.16)
lze dlze_small 82 11,283(68.86%) 1,485,791(LDIR x 3.94)
lzee dlzee_fast 84 11,279(68.84%) 1,133,629(LDIR x 3.00)
lzee dlzee_small 76 11,279(68.84%) 1,425,221(LDIR x 3.78)
lzsa1 unlzsa1_fast 111 12,075(73.69%) 721,692(LDIR x 1.91)
lzsa1 unlzsa1_small 67 12,075(73.69%) 820,158(LDIR x 2.17)
lzsa2 unlzsa2_fast 216 10,853(66.24%) 1,117,048(LDIR x 2.96)
lzsa2 unlzsa2_fast_180 214 10,853(66.24%) 1,137,344(LDIR x 3.01)
lzsa2 unlzsa2_small 139 10,853(66.24%) 1,283,222(LDIR x 3.40)
lzsa2 unlzsa2_small_180 137 10,853(66.24%) 1,303,518(LDIR x 3.45)
MegaLZ megalz_dec40 110 11,012(67.21%) 3,284,220(LDIR x 8.71)
MegaLZ unmegalz_fast_v2 233 11,012(67.21%) 1,484,175(LDIR x 3.93)
MegaLZ unmegalz_fast_v2p1 229 11,012(67.21%) 1,471,821(LDIR x 3.90)
MegaLZ unmegalz_small_v2 92 11,012(67.21%) 2,369,275(LDIR x 6.28)
Pletter unpletter 170 10,908(66.57%) 2,106,071(LDIR x 5.58)
Pletter unpletter_180 146 10,908(66.57%) 1,977,349(LDIR x 5.24)
Shrinkler shrinkler_recall_209 209 9,808(59.86%) 178,129,932(LDIR x 472.69)
Shrinkler shrinkler_recall_209_r800_rom 209 9,808(59.86%) 177,607,019(LDIR x 471.30)
zx7 dzx7_lom_v1 214 11,331(69.15%) 1,699,269(LDIR x 4.50)
zx7 dzx7_lom_v1p1 214 11,331(69.15%) 1,653,563(LDIR x 4.38)
zx7 dzx7_turbo 88 11,331(69.15%) 1,984,344(LDIR x 5.26)
zx7 dzx7_standard 69 11,331(69.15%) 2,693,915(LDIR x 7.14)
zx7b dzx7b_fast 191 11,341(69.21%) 1,500,846(LDIR x 3.98)
zx7b dzx7b_fast_r800 184 11,341(69.21%) 1,481,885(LDIR x 3.93)
zx7b dzx7b_slow 64 11,341(69.21%) 2,450,589(LDIR x 6.50)
zx7b dzx7b_slow_r800 64 11,341(69.21%) 2,450,589(LDIR x 6.50)
zx7mini dzx7mini 39 13,039(79.58%) 1,430,071(LDIR x 3.79)

test data:KANJJ1.B06(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 10,817(66.02%) 4,400,357(LDIR x 11.67)
ApLib aplib247b 249 10,817(66.02%) 2,604,239(LDIR x 6.91)
ApLib aplib247b_180_minimal 152 10,817(66.02%) 3,298,116(LDIR x 8.75)
ApLib aplib247b_180_small 171 10,817(66.02%) 2,545,053(LDIR x 6.75)
ApLib aplib247b_180_fast 234 10,817(66.02%) 2,402,411(LDIR x 6.37)
Exomizer2 deexo 169 10,650(65.00%) 7,752,805(LDIR x 20.57)
Exomizer2 deexo_180 166 10,650(65.00%) 7,752,735(LDIR x 20.57)
Exomizer2 deexo_180_fast_jp 176 10,650(65.00%) 6,611,348(LDIR x 17.54)
Exomizer2 deexoopt_f3_180_p0 242 10,650(65.00%) 5,263,931(LDIR x 13.96)
Exomizer3 deexo3p7 176 10,650(65.00%) 5,584,601(LDIR x 14.81)
Exomizer3 deexo3p7_fast_jp 181 10,650(65.00%) 4,783,085(LDIR x 12.69)
Exomizer3 deexoopt_p7 219 10,650(65.00%) 4,366,865(LDIR x 11.58)
Exomizer3 deexoopt_f3_p7 212 10,650(65.00%) 4,201,463(LDIR x 11.14)
Exomizer3 deexoopt_f3_180_p7 219 10,650(65.00%) 4,371,843(LDIR x 11.60)
hrust dehrust_ix 234 10,906(66.56%) 3,290,847(LDIR x 8.73)
hrust dehrust_ix_233b 233 10,906(66.56%) 3,290,842(LDIR x 8.73)
hrust dehrust_stk 209 10,906(66.56%) 2,995,867(LDIR x 7.95)
lz4 lz4dec 97 12,972(79.17%) 820,307(LDIR x 2.17)
lz4 unlz4_spke 103 12,972(79.17%) 743,423(LDIR x 1.97)
lz4 unlz4_spke_fast 96 12,972(79.17%) 708,297(LDIR x 1.87)
lz4 unlz4_spke_small 65 12,972(79.17%) 736,149(LDIR x 1.95)
lz48 lz48decrunch_v006_ 70 14,179(86.54%) 656,277(LDIR x 1.74)
lz48 lz48decrunch_v006__180 71 14,179(86.54%) 622,088(LDIR x 1.65)
lz49 lz49decrunch_v001 106 13,920(84.96%) 774,080(LDIR x 2.05)
lz49 lz49decrunch_v001_180 101 13,920(84.96%) 749,276(LDIR x 1.98)
lze lzdec 119 11,634(71.00%) 1,504,858(LDIR x 3.99)
lze dlze_fast 90 11,634(71.00%) 1,222,448(LDIR x 3.24)
lze dlze_small 82 11,634(71.00%) 1,523,332(LDIR x 4.04)
lzee dlzee_fast 84 11,630(70.98%) 1,159,478(LDIR x 3.07)
lzee dlzee_small 76 11,630(70.98%) 1,460,362(LDIR x 3.87)
lzsa1 unlzsa1_fast 111 12,507(76.33%) 726,941(LDIR x 1.92)
lzsa1 unlzsa1_small 67 12,507(76.33%) 826,512(LDIR x 2.19)
lzsa2 unlzsa2_fast 216 11,279(68.84%) 1,143,219(LDIR x 3.03)
lzsa2 unlzsa2_fast_180 214 11,279(68.84%) 1,164,203(LDIR x 3.08)
lzsa2 unlzsa2_small 139 11,279(68.84%) 1,315,560(LDIR x 3.49)
lzsa2 unlzsa2_small_180 137 11,279(68.84%) 1,336,544(LDIR x 3.54)
MegaLZ megalz_dec40 110 11,281(68.85%) 3,337,059(LDIR x 8.85)
MegaLZ unmegalz_fast_v2 233 11,281(68.85%) 1,499,052(LDIR x 3.97)
MegaLZ unmegalz_fast_v2p1 229 11,281(68.85%) 1,486,128(LDIR x 3.94)
MegaLZ unmegalz_small_v2 92 11,281(68.85%) 2,399,747(LDIR x 6.36)
Pletter unpletter 170 11,252(68.67%) 2,178,723(LDIR x 5.78)
Pletter unpletter_180 146 11,252(68.67%) 2,044,469(LDIR x 5.42)
Shrinkler shrinkler_recall_209 209 10,148(61.93%) 184,730,043(LDIR x 490.21)
Shrinkler shrinkler_recall_209_r800_rom 209 10,148(61.93%) 184,196,461(LDIR x 488.79)
zx7 dzx7_lom_v1 214 11,612(70.87%) 1,725,304(LDIR x 4.57)
zx7 dzx7_lom_v1p1 214 11,612(70.87%) 1,678,758(LDIR x 4.45)
zx7 dzx7_turbo 88 11,612(70.87%) 2,015,890(LDIR x 5.34)
zx7 dzx7_standard 69 11,612(70.87%) 2,745,472(LDIR x 7.28)
zx7b dzx7b_fast 191 11,601(70.80%) 1,529,557(LDIR x 4.05)
zx7b dzx7b_fast_r800 184 11,601(70.80%) 1,510,031(LDIR x 4.00)
zx7b dzx7b_slow 64 11,601(70.80%) 2,506,261(LDIR x 6.65)
zx7b dzx7b_slow_r800 64 11,601(70.80%) 2,506,261(LDIR x 6.65)
zx7mini dzx7mini 39 13,311(81.24%) 1,427,925(LDIR x 3.78)

test data:KANJJ1.B07(16KB)

packer unpacker unpacker size packed size unpacking clocks
ApLib aplib156b 156 9,798(59.80%) 3,999,198(LDIR x 10.61)
ApLib aplib247b 249 9,798(59.80%) 2,383,274(LDIR x 6.32)
ApLib aplib247b_180_minimal 152 9,798(59.80%) 3,006,837(LDIR x 7.97)
ApLib aplib247b_180_small 171 9,798(59.80%) 2,328,889(LDIR x 6.18)
ApLib aplib247b_180_fast 234 9,798(59.80%) 2,203,217(LDIR x 5.84)
Exomizer2 deexo 169 9,701(59.21%) 7,135,248(LDIR x 18.93)
Exomizer2 deexo_180 166 9,701(59.21%) 7,135,142(LDIR x 18.93)
Exomizer2 deexo_180_fast_jp 176 9,701(59.21%) 6,094,613(LDIR x 16.17)
Exomizer2 deexoopt_f3_180_p0 242 9,701(59.21%) 4,868,668(LDIR x 12.91)
Exomizer3 deexo3p7 176 9,701(59.21%) 5,093,013(LDIR x 13.51)
Exomizer3 deexo3p7_fast_jp 181 9,701(59.21%) 4,381,376(LDIR x 11.62)
Exomizer3 deexoopt_p7 219 9,701(59.21%) 4,006,872(LDIR x 10.63)
Exomizer3 deexoopt_f3_p7 212 9,701(59.21%) 3,855,266(LDIR x 10.23)
Exomizer3 deexoopt_f3_180_p7 219 9,701(59.21%) 4,012,895(LDIR x 10.64)
hrust dehrust_ix 234 9,937(60.65%) 3,015,024(LDIR x 8.00)
hrust dehrust_ix_233b 233 9,937(60.65%) 3,015,019(LDIR x 8.00)
hrust dehrust_stk 209 9,937(60.65%) 2,749,638(LDIR x 7.29)
lz4 lz4dec 97 11,830(72.20%) 761,648(LDIR x 2.02)
lz4 unlz4_spke 103 11,830(72.20%) 694,239(LDIR x 1.84)
lz4 unlz4_spke_fast 96 11,830(72.20%) 664,044(LDIR x 1.76)
lz4 unlz4_spke_small 65 11,830(72.20%) 688,706(LDIR x 1.82)
lz48 lz48decrunch_v006_ 70 13,048(79.63%) 634,564(LDIR x 1.68)
lz48 lz48decrunch_v006__180 71 13,048(79.63%) 603,758(LDIR x 1.60)
lz49 lz49decrunch_v001 106 12,778(77.99%) 736,853(LDIR x 1.95)
lz49 lz49decrunch_v001_180 101 12,778(77.99%) 714,100(LDIR x 1.89)
lze lzdec 119 10,578(64.56%) 1,393,220(LDIR x 3.69)
lze dlze_fast 90 10,578(64.56%) 1,134,142(LDIR x 3.00)
lze dlze_small 82 10,578(64.56%) 1,407,422(LDIR x 3.73)
lzee dlzee_fast 84 10,574(64.53%) 1,079,152(LDIR x 2.86)
lzee dlzee_small 76 10,574(64.53%) 1,352,432(LDIR x 3.58)
lzsa1 unlzsa1_fast 111 11,388(69.50%) 692,271(LDIR x 1.83)
lzsa1 unlzsa1_small 67 11,388(69.50%) 781,741(LDIR x 2.07)
lzsa2 unlzsa2_fast 216 10,249(62.55%) 1,067,678(LDIR x 2.83)
lzsa2 unlzsa2_fast_180 214 10,249(62.55%) 1,086,542(LDIR x 2.88)
lzsa2 unlzsa2_small 139 10,249(62.55%) 1,224,189(LDIR x 3.24)
lzsa2 unlzsa2_small_180 137 10,249(62.55%) 1,243,053(LDIR x 3.29)
MegaLZ megalz_dec40 110 10,247(62.54%) 3,070,083(LDIR x 8.14)
MegaLZ unmegalz_fast_v2 233 10,247(62.54%) 1,401,983(LDIR x 3.72)
MegaLZ unmegalz_fast_v2p1 229 10,247(62.54%) 1,389,844(LDIR x 3.68)
MegaLZ unmegalz_small_v2 92 10,247(62.54%) 2,224,451(LDIR x 5.90)
Pletter unpletter 170 10,245(62.53%) 1,996,630(LDIR x 5.29)
Pletter unpletter_180 146 10,245(62.53%) 1,875,171(LDIR x 4.97)
Shrinkler shrinkler_recall_209 209 9,212(56.22%) 166,951,906(LDIR x 443.03)
Shrinkler shrinkler_recall_209_r800_rom 209 9,212(56.22%) 166,474,577(LDIR x 441.76)
zx7 dzx7_lom_v1 214 10,572(64.52%) 1,611,251(LDIR x 4.27)
zx7 dzx7_lom_v1p1 214 10,572(64.52%) 1,568,281(LDIR x 4.16)
zx7 dzx7_turbo 88 10,572(64.52%) 1,878,347(LDIR x 4.98)
zx7 dzx7_standard 69 10,572(64.52%) 2,546,593(LDIR x 6.75)
zx7b dzx7b_fast 191 10,586(64.61%) 1,431,824(LDIR x 3.79)
zx7b dzx7b_fast_r800 184 10,586(64.61%) 1,413,948(LDIR x 3.75)
zx7b dzx7b_slow 64 10,586(64.61%) 2,328,107(LDIR x 6.17)
zx7b dzx7b_slow_r800 64 10,586(64.61%) 2,328,107(LDIR x 6.17)
zx7mini dzx7mini 39 12,245(74.73%) 1,344,248(LDIR x 3.56)

総評

Z80/HD64180/R800全対応・ROM化を前提に圧縮率が高い順に並べた表

packer unpacker unpacker size packed size unpacking clocks
Shrinkler shrinkler_recall_209_r800_rom 209 153,164(58.42%) 2,638,632,095(LDIR x 437.62)
Exomizer3 deexoopt_f3_180_p7 219 160,007(61.03%) 63,774,934(LDIR x 10.57)
Exomizer2 deexoopt_f3_180_p0 242 160,011(61.03%) 74,159,660(LDIR x 12.29)
ApLib aplib247b_180_fast 234 161,438(61.58%) 33,282,031(LDIR x 5.51)
hrust dehrust_ix_233b 233 162,217(61.88%) 45,520,882(LDIR x 7.54)
Pletter unpletter_180 146 167,494(63.89%) 26,943,610(LDIR x 4.46)
lzsa2 unlzsa2_fast_180 214 167,542(63.91%) 16,073,147(LDIR x 2.66)
MegaLZ unmegalz_fast_v2p1 229 167,609(63.93%) 20,597,308(LDIR x 3.41)
zx7 dzx7_lom_v1p1 214 170,296(64.96%) 22,851,160(LDIR x 3.78)
zx7b dzx7b_fast_r800 184 170,425(65.01%) 20,659,431(LDIR x 3.42)
lzee dlzee_fast 84 174,118(66.42%) 16,483,906(LDIR x 2.73)
lze dlze_fast 90 174,182(66.44%) 17,122,936(LDIR x 2.83)
lzsa1 unlzsa1_fast 111 182,295(69.54%) 10,141,189(LDIR x 1.68)
zx7mini dzx7mini 39 190,540(72.68%) 20,556,427(LDIR x 3.40)
lz4 unlz4_spke_fast 96 191,416(73.01%) 9,778,655(LDIR x 1.62)
lz49 lz49decrunch_v001_180 101 195,027(74.39%) 11,002,608(LDIR x 1.82)
lz48 lz48decrunch_v006__180 71 198,227(75.61%) 9,503,964(LDIR x 1.57)
  • Shrinklerは圧縮率は最高であるものの展開に桁違いの時間を要するため用途は限定される
  • zx7,zx7b,zx7miniとlze,lzeeとmegaLZは圧縮率と展開速度の両方がlzsa2にやや劣る傾向にある
  • lz49は圧縮率と展開速度の両方がlz4にやや劣る傾向にある
  • hrustは圧縮率と展開速度の両方がApLibにやや劣る傾向にある
  • Exomizer2は展開ルーチンサイズ以外は後継のExomizer3のほうが良い

これらを除外すると順当に圧縮率を高めるほど遅くなる関係にあるので要件に応じて選びやすい

packer unpacker unpacker size packed size unpacking clocks
Exomizer3 deexoopt_f3_180_p7 219 160,007(61.03%) 63,774,934(LDIR x 10.57)
ApLib aplib247b_180_fast 234 161,438(61.58%) 33,282,031(LDIR x 5.51)
Pletter unpletter_180 146 167,494(63.89%) 26,943,610(LDIR x 4.46)
lzsa2 unlzsa2_fast_180 214 167,542(63.91%) 16,073,147(LDIR x 2.66)
lzsa1 unlzsa1_fast 111 182,295(69.54%) 10,141,189(LDIR x 1.68)
lz4 unlz4_spke_fast 96 191,416(73.01%) 9,778,655(LDIR x 1.62)
lz48 lz48decrunch_v006__180 71 198,227(75.61%) 9,503,964(LDIR x 1.57)