Performant implementations of various streaming algorithms.
This library is a work in progress. See the docs for what algorithms are currently implemented.
See here for a good list of algorithms to be implemented.
As these implementations are often in hot code paths, unsafe is used, albeit only when justified.
This library leverages the following prioritisation when deciding whether
unsafe is justified for a particular implementation:
- Asymptotically optimal algorithm
- Trivial safety (i.e. no
unsafeat all or extremely limited
unsafetrivially contained to one or two lines)
- Constant-factor optimisations
This data structure tracks the
An iterator over the entries and counts in a