Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better support for larger inputs #33

Open
3 tasks
lifthrasiir opened this issue Sep 25, 2021 · 1 comment
Open
3 tasks

Better support for larger inputs #33

lifthrasiir opened this issue Sep 25, 2021 · 1 comment

Comments

@lifthrasiir
Copy link
Owner

The current decompressor is optimized for size and very slow (<50 KB/s). I've been asked about the possibility to use Roadroller for larger inputs, possibly around the single digit megabyte range, and while Roadroller is generally not a good choice for them I've heard of several (rarer) use cases where Roadroller can actually help.

Possible improvements:

  • Reimplement the decompressor in wasm (would be 3--4x faster). This is not hard to do, but we need to think carefully about the memory layout. This will increase the compressed size by several hundred bytes so probably we need a separate option for that.
  • Support a progress callback for larger inputs. Roadroller currently assumes that each compression round is fast enough that no further report is required, but it will be definitely required for larger inputs.
  • Length-reducing preprocessor (e.g. LZ77). This can possibly trigger a major architecture change.
@da0ka
Copy link

da0ka commented Dec 12, 2021

How about add option for decompressor? size first, speed first, balanced, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants