
Theatrical Cues – Shakespeare Plays Reactive Scrabble with Java Queues - nqzero
https://github.com/nqzero/reactive-bench
======
nqzero
It's a JMH benchmark of the capability of several Java queues to process tasks
in parallel, Reactive to:

* heavy lifting: a few (eg, 100-200) larger tasks, no latency, no back pressure * waiting: efficiency of a few small tasks with latency, no back pressure * mixed load: many small tasks and a few large ones interspersed, no latency, no back pressure * back pressure: many small tasks, with back pressure which may induce latency * throughput: many small tasks, no latency, no back pressure

The data sources are unsized iterators, and the payloads are scrabble scores
(small tasks) and repeated sha-256 hashes (large tasks). Implementations
include Conversant, JCTools, Kilim, Quasar, RxJava, the fork join pool, and
Java 8 streams.

It's based on Jose Paumard's kata from Devoxx 2015 and David Karnok's (RxJava)
refinements. I've been looking for a decent reactive benchmark for a while,
and the kata [got
mentioned]([https://www.reddit.com/r/java/comments/cacgmu/choosing_a_rea...](https://www.reddit.com/r/java/comments/cacgmu/choosing_a_reactive_framework_for_the_jvm/et98i03/))
in this subreddit a couple months ago so I added in the various conditions and
did some runs. More details in the readme and the full JMH output is available
in [the release]([https://github.com/nqzero/reactive-bench/releases/tag/jmh-
re...](https://github.com/nqzero/reactive-bench/releases/tag/jmh-results)).
Hoping for contributions of tuning, new implementations (esp Akka and Vert.x),
new modes (or just ideas for new modes), etc.

