mirror of
https://github.com/emmanuel-marty/lzsa.git
synced 2024-11-25 10:30:45 +00:00
30192238ea
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. |
||
---|---|---|
.. | ||
6502 | ||
8088 | ||
z80 |