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.
@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