English

Highest-performance Stream Processing

Programming Languages 2022-11-28 v1 Databases

Abstract

We present the stream processing library that achieves the highest performance of existing OCaml streaming libraries, attaining the speed and memory efficiency of hand-written state machines. It supports finite and infinite streams with the familiar declarative interface, of any combination of map, filter, take(while), drop(while), zip, flatmap combinators and tupling. Experienced users may use the lower-level interface of stateful streams and implement accumulating maps, compression and windowing. The library is based on assured code generation (at present, of OCaml and C) and guarantees in all cases complete fusion.

Keywords

Cite

@article{arxiv.2211.13461,
  title  = {Highest-performance Stream Processing},
  author = {Oleg Kiselyov and Tomoaki Kobayashi and Aggelos Biboudis and Nick Palladinos},
  journal= {arXiv preprint arXiv:2211.13461},
  year   = {2022}
}

Comments

Peer-reviewed, accepted for presentation and presented at the ACM SIGPLAN OCAML 2022 workshop