/rust-streaming

EXPERIMENTAL: Various hacks for zero-allocation stream parsing in Rust.

Primary LanguageRustThe UnlicenseUnlicense

EXPERIMENTAL: Zero-Allocation Streaming Parsers in Rust

Here there be hacks. No APIs are stable. Code may not do what the comments claim.

Key goal:

  • Build a StreamingIterator type that can return references to internal state, including as I/O buffers and the output buffers of libraries like flate2. This prevents implementing collect, but why can't we have map, filter and fold?

Target applications:

  • rust-csv.
  • Multicore map/reduce of Snappy-compressed records.
  • Anybody else who needs to iterate over a data stream without allocating.

Random useful things to read:

We beg for help::