mirror of
https://github.com/google/brotli.git
synced 2026-09-22 06:35:52 +00:00
using brotli compression on embedded iot with limited RAM #460
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ziv-augury on GitHub (Jun 6, 2023).
hello brotli
i want to use the brotli compression which gave good compression rates on the type of data i need to compress (tested with the cli tool) .
but before digging on how to use brotli compression in my (zephyr OS based) application i want to make sure its possible.
in total the RAM of my device is 64k (ARM cortex M4 64Mhz), so with all the rest of the application i would say that max footprint can be ~4k, preferably smaller (including buffer for input by chunks of 256/512 bytes max).
i do not care so much for speedy compression but rather have compress rate high as possible.
can brotli work in this conditions ?
are the windows and other allocation sizes configurable ?
i read that it uses a dictionary - what size of dictionary will it use for ~32kbyte of data ?
hope to read you soon
best regards
Ziv
@eustas commented on GitHub (Jun 20, 2023):
Currently brotli encoder won't fit such tight requirements.
I'd recommend exploring
compress_fragment{|_two_pass}.{c|h}it is quite possible making a standalone encoder on the base of those and then continue tuning it to fit the restrictions...