Clone this repo:
  1. d461a10 Optimize `RIEGELI_CHECK_LT` etc. by passing simple objects by value, for better by Marcin Kowalczyk · 21 hours ago upstream/master
  2. 57fb869 Store arena block sizes and `ConcurrentVector` size & capacity as `uint32_t` by Marcin Kowalczyk · 4 days ago
  3. 0d41bd6 Let `ConcurrentVector` support holding an unowned single element. by Marcin Kowalczyk · 4 days ago
  4. 34728f3 Fix a bug in `UndoAllocateBytes()` where the allocation was in another block, by Marcin Kowalczyk · 4 days ago
  5. 5eb4c66 In `IndexInterned<T>`, ensure that the block capacity measured in objects is by Marcin Kowalczyk · 8 days ago

Riegeli

Riegeli/records is a file format for storing a sequence of string records, typically serialized protocol buffers. It supports dense compression, fast decoding, seeking, detection and optional skipping of data corruption, filtering of proto message fields for even faster decoding, and parallel encoding.

See documentation.

Status

Riegeli file format will only change in a backward compatible way (i.e. future readers will understand current files, but current readers might not understand files using future features).

Riegeli C++ API might change in incompatible ways.