No description
- Zig 90.4%
- JavaScript 9%
- HTML 0.6%
|
pm
6c4fb6a01d
eris.decoder: add position
FossilOrigin-Name: 6585c3a3c4619e69cca9d57ae2b0119dce7c498cd038da1e06e95de8695e2bab |
||
|---|---|---|
| LICENSES | reuse and acks | |
| src | eris.decoder: add position | |
| test | eris.decoder: add position | |
| build.zig | wasm: rename to eris.zig | |
| build.zig.zon | initial commit | |
| README | reuse and acks | |
# zig-eris A [Zig](https://ziglang.org/) implementation of [ERIS](http://purl.org/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](https://nlnet.nl/project/Goblins-Persistence/) by the [NLnet Foundation](https://nlnet.nl) trough the [NGI Zero Core Fund](https://nlnet.nl/core/). ## License [GPL-3.0-or-later](./LICENSES/GPL-3.0-or-later.txt)