zig-eris

Top-level Files of tip
Login

Top-level Files of tip

Files in the top-level directory from the latest check-in


zig-eris

A Zig implementation of ERIS.

Raisons d'ĂȘtre

This is an experiment into:

Usable from C and WASM

The Zig tooling allows building of libraries usable from C-land and WASM-land.

ERIS without allocations

The implementation does not do any dynamic allocations. All buffers need to be allocated before library initialization.

The trick is to pre-allocate a fixed number of levels which does not need to be large. With 3 levels we can encode 4MiB of data using block size 1KiB and 512GiB of data using block size large - enough for most practical purposes.

The number of levels is a Zig comptime, if needed a library with support for even larger content can be built.

This should make the core encoding performant.

Acknowledgment

zig-eris has been supported by the NLnet Foundation trough the NGI Zero Core Fund.

License

GPL-3.0-or-later