Hi Adam,
Adam Tuja wrote:
I stumped upon optimized assembler decompression routine that can be
compiled under linux with nasm or gas. In 18.03 version of sdk lzma's
author introduced x86_64 assembler version of LzmaDec_DecodeReal_3()
function that makes decompression around 30% faster in comparison to C
version.
Thank you.
In general I tend to consider optimized assembler as too unportable to be
worth the trouble. In this case there is the additional problem that lzip
does not meet the requirements of the code you link to:
# lzma_lzma1_decoder and lzma_dict structures, and probability table layout
# must be equal in both versions (C / ASM).
Another problem is that fixating the decoding algorithm in (difficult to
understand and change) assembler code makes it more difficult to improve
later the decoding algorithm in C (because asm and C must be kept in sync).
As I'm working on other speed improvements to the decoder, I do not plan to
use assembler for now.
Best regards,
Antonio.