uvarint 0.1.2

unsigned varint
Documentation
  • Coverage
  • 52.94%
    9 out of 17 items documented9 out of 10 items with examples
  • Size
  • Source code size: 35.69 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.08 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 17s Average build duration of successful builds.
  • all releases: 17s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • aoikurokawa

UVARINT

Zero-Copy Operations:

Read from byte slices without allocation Write to pre-allocated buffers std::io::Read and std::io::Write trait implementations

Important Features Performance:

Inline functions for hot paths Benchmarks comparing to existing libraries Optional SIMD optimizations for batch operations #[no_std] support for embedded systems

Ergonomics:

Trait-based API (e.g., VarIntEncode, VarIntDecode) Helper functions like encoded_len(value) to predict size Builder pattern for configuration if needed Good type inference support

Compatibility:

Support multiple varint formats (LEB128, Protocol Buffers, etc.) Feature flags for different encodings Async I/O support (tokio::AsyncRead/AsyncWrite)

Nice-to-Have Features Advanced:

Streaming decoder for parsing continuous streams Batch encoding/decoding APIs serde support for serialization frameworks Zero-allocation iterators over varint sequences Const functions where possible (for compile-time encoding)

Developer Experience:

Comprehensive examples in docs Comparison guide with other libraries Migration guide if competing with existing crates Clear performance characteristics documented

Resources