Commit Graph

471 Commits

Author SHA1 Message Date
Emmanuel Marty
88f563d84c
Secure last token decompression for non-raw blocks 2019-11-26 17:35:11 +01:00
Emmanuel Marty
d37589cfdb
Expand forward repmatch candidates 2019-11-26 13:33:08 +01:00
Emmanuel Marty
0b5e915d83
Split non-rep from repmatch candidates 2019-11-26 11:58:34 +01:00
Emmanuel Marty
a38e8b126c
Small LZSA2 compression speedup 2019-11-20 15:40:11 +01:00
Emmanuel Marty
5f4cf4dfc7
Fix for LZSA1 as well 2019-11-19 19:53:46 +01:00
Emmanuel Marty
8e4e7c06c7
Fix calculation for promoting literal+match seqs 2019-11-19 19:48:39 +01:00
Emmanuel Marty
b1738b4003
Promote some literal+match sequences to a match 2019-11-18 12:10:23 +01:00
Emmanuel Marty
e328f63feb
Bump version 2019-11-13 00:57:31 +01:00
Emmanuel Marty
e0c42afac9
Increase LZSA2 ratio 2019-11-13 00:57:09 +01:00
Emmanuel Marty
ce7fc33646
Reduce memory use 2019-11-12 00:30:24 +01:00
Emmanuel Marty
53b2013b73
Small improvement to merging large matches 2019-11-11 18:41:08 +01:00
Emmanuel Marty
df9690a949
Merge pull request #36 from peterferrie/master
fast v1
2019-11-09 17:55:19 +01:00
Peter Ferrie
302234a91b fast v2 2019-10-31 23:01:00 -07:00
Peter Ferrie
9fc9a49d67 fast v1 2019-10-31 22:20:02 -07:00
Emmanuel Marty
7371486513
Bump version 2019-10-29 12:10:13 +01:00
Emmanuel Marty
f249597dfd
Increase LZSA2 ratio 2019-10-29 12:09:14 +01:00
Emmanuel Marty
78f588a833
Clarify defines 2019-10-29 10:45:57 +01:00
Emmanuel Marty
c790fb8ebe
Add link to Gabba ZX Spectrum demo, that uses LZSA 2019-10-28 09:21:57 +01:00
Emmanuel Marty
3c4f535e0b
Increase LZSA2 ratio by ~0.02% 2019-10-27 14:55:39 +01:00
Emmanuel Marty
8551c3ff8a
Merge pull request #35 from MobyGamer/decompressor/8086_speed_jumptable
Rewrite 8088 jumptable decompressor for maximum speed
2019-10-27 10:28:48 +01:00
mobygamer
30192238ea Rewrite 8088 jumptable decompressor for maximum speed
This is a rewrite of LZSA1JMP.ASM to use a 256-element jumptable, which
allows the code to handle all of the hot paths (common cases) without
any branching.  This not only reduces branches (which are very costly on
x86) to a bare minimum, but also grants us foreknowledge in a decode
path of what steps can be skipped.

The new code is 12.7% faster than the old code, and assembles to less
than 3K of object code and data.
2019-10-26 23:34:24 -05:00
Emmanuel Marty
53fcd3b1a8
Generalize merging very large matches 2019-10-24 13:05:32 +02:00
Emmanuel Marty
f4cf97f176
Merge pull request #34 from specke/master
Added option for unrolled copying of long matches
2019-10-22 21:52:48 +02:00
introspec
d5d788946e
Added an option for unrolling long match copying
Usually useless and costing +57 bytes, this option can bring dramatic performance improvements on very compressible data dominated by long matches
2019-10-22 20:11:46 +01:00
introspec
e1e1276c96
Merge pull request #4 from emmanuel-marty/master
Re-sync with the main
2019-10-22 20:09:00 +01:00
Emmanuel Marty
16ac8c75af
Add link to PDP-11 depackers by Ivan Gorodetsky 2019-10-22 17:13:05 +02:00
Emmanuel Marty
05d77095ca
Bump version 2019-10-22 12:39:27 +02:00
Emmanuel Marty
b84fe7c332
Further increase LZSA2 ratio by ~0.1% on average 2019-10-22 12:37:46 +02:00
Emmanuel Marty
7dd039a152
Delete shrink_context.h 2019-10-22 12:37:16 +02:00
Emmanuel Marty
9f6ca2c25f
Delete shrink_block_v2.c 2019-10-22 12:37:04 +02:00
Emmanuel Marty
dbaa3fa921
Further increase LZSA2 ratio by ~0.1% on average 2019-10-22 12:36:41 +02:00
Emmanuel Marty
2926ad8436
Remove unused #includes 2019-10-21 12:29:38 +02:00
Emmanuel Marty
d9156d3d2b
Reduce LZSA1 token count by 2.5% on average 2019-10-19 13:10:41 +02:00
Emmanuel Marty
6adf92fc88
Merge pull request #33 from specke/master
-1 byte
2019-10-11 10:18:05 +02:00
Emmanuel Marty
96df02c532
Remove unused code 2019-10-11 09:20:36 +02:00
Emmanuel Marty
89f1664ae6
Remove unused code 2019-10-11 09:14:19 +02:00
Emmanuel Marty
c363ecf527
Remove unused code 2019-10-11 09:11:49 +02:00
Emmanuel Marty
5141ed7c59
Remove unused code 2019-10-11 09:11:41 +02:00
Emmanuel Marty
c77c666568
Remove unused code 2019-10-11 09:10:07 +02:00
Emmanuel Marty
115a81cb71
Remove unused code 2019-10-11 09:09:42 +02:00
Emmanuel Marty
4436f216ce
Bump version 2019-10-11 09:06:50 +02:00
Emmanuel Marty
baa53f6889
Newly compressed LZSA2 files depack 0.7% faster 2019-10-11 09:05:58 +02:00
introspec
495a12216f
-1 byte
Very slightly faster too
2019-10-11 00:23:43 +01:00
Emmanuel Marty
b5117c3dfe
Fixes for -stats 2019-10-11 00:25:46 +02:00
Emmanuel Marty
f5ef6bf868
Merge pull request #32 from specke/master
Slightly faster unlzsa2_fast.asm for Z80
2019-10-11 00:22:12 +02:00
introspec
566e3a94e8
+0.2% speed
also, added an option to unroll LDIR for longer matches (which adds 38 bytes, but can be significantly faster for files with many long matches)
2019-10-10 22:50:23 +01:00
introspec
e3d7ec9c40
Merge pull request #3 from emmanuel-marty/master
Sync with E.Marty's branch
2019-10-10 22:46:53 +01:00
Emmanuel Marty
d209b73a30
Fix small bug 2019-10-10 14:42:08 +02:00
Emmanuel Marty
c1b18fb9fd
Implement -stats 2019-10-09 18:20:22 +02:00
Emmanuel Marty
6ce846ff24
Speed up LZSA2 compression 2019-10-09 16:07:29 +02:00