Avg Release Cycle
- Simplify the README, use text tables instead of graphs.
- 🚀 Upgrade to latest release of all streaming packages
- 🏗 Build bench-report utility independently to avoid dependency issues
- ➕ Add benchmarks for streamly pure lists, streamly arrays, bytestring, text, dlist, sequence
- ➕ Add benchmarks to measure composition of the filtering and transformation operations multiple times
- ➕ Add benchmarks to measure composition of various combinations of different operations multiple times.
- ➕ Add benchmarks that iterate the same operation multiple times
- 📦 Use the
bench-showpackage for better reporting of diffs. Supports comparison in multiples or percentages of other packages.
- ➕ Added benchmarks for pure lists
- ➕ Added benchmarks for pure
- ➕ Added benchmarks for
vectormonadic streaming library
- ➕ Added
- 📦 The code is modular now, package specific ops for each benchmarked package are contained in a separate own module. It is much easier to add a new package now.
- The benchmarking code now works for
IOas well as
- 👉 Used the same stream generation method for all libraries for a fair comparison.
- 👉 Use a monadic API (
unfoldrM) for generating the stream.
- conduit-1.3.0 has a performance issue with
mapM_. Avoided using
sinkNullinstead. See https://github.com/snoyberg/conduit/issues/363. This workaround improves the performance of all conduit benchmarks that drain the stream.
- pipes also had an issue similar to that of conduit. The code was using
mapM_which was very inefficient, used
discardinstead and got a significant boost in numbers.
- 🎉 Initial release