3 ms·
> Yikes; half a meg of code! It's plausible that the lib you checked is the output from the project's default build target (zstd), which "(...) includes dicti
by arinlen 4y ago
> Yikes; half a meg of code!
It's plausible that the lib you checked is the output from the project's default build target (zstd), which "(...) includes dictionary builder, benchmark, and supports decompression of legacy zstd formats"
https://github.com/facebook/zstd/tree/dev/programs https://github.com/facebook/zstd/tree/dev/programs
The project also provides another build target, zstd-small, which is "CLI optimized for minimal size; no dictionary builder, no benchmark, and no support for legacy zstd formats"
Also, take a look at what exactly is bundled with the binary. Odds are you're looking at a lib that statically links optional stuff that makes no sense shipping, let alone on an embedded target.
- kazinator 4y agoI looked at the "nm --dynamic"; I did see some dictionary API's: $ nm -D /usr/lib/i386-linux-gnu/libzstd.so.1.3.3 | grep -i -E 'init|create' [...] 0000fa50 T ZSTD_createCDict 0000d3a0 T ZSTD_createCDict_advanced 0000fae0 T ZSTD_createCDict_byReference 0000d6f0 T ZSTD_createCStream 0000d6c0 T ZSTD_createCStream_advanced 00042890 T ZSTD_createDCtx 000427b0 T ZSTD_createDCtx_advanced 00046a10 T ZSTD_createDDict 00046960 T ZSTD_createDDict_advanced 00046a40 T ZSTD_createDDict_byReference [...]