Analysing the Performance and Costs of Reactive Programming Libraries in Java
Modern services running in cloud and edge environments need to be resource-efficient to increase deployment density and reduce operating costs.
Asynchronous I/O combined with asynchronous programming provides a solid technical foundation to reach these goals.
Reactive programming and reactive streams are gaining traction in the Java ecosystem.
However, reactive streams implementations tend to be complex to work with and maintain.
This paper discusses the performance of the three major reactive streams compliant libraries used in Java applications: RxJava, Project Reactor, and SmallRye Mutiny.
As we will show, advanced optimization techniques such as operator fusion do not yield better performance on realistic I/O-bound workloads, and they significantly increase development and maintenance costs.
Mon 18 OctDisplayed time zone: Central Time (US & Canada) change
13:50 - 15:10 | |||
13:50 25mTalk | Trampoline Variables: A General Method for State Accumulation in Reactive Programming REBLS Bjarno Oeyen Vrije Universiteit Brussel, Sam Van den Vonder Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel DOI Pre-print | ||
14:15 25mTalk | Symmetric Distributed Applications REBLS Francisco Sant'Anna Rio de Janeiro State University, Rodrigo Santos Microsoft, Noemi Rodriguez PUC-Rio DOI | ||
14:40 25mTalk | Analysing the Performance and Costs of Reactive Programming Libraries in Java REBLS Julien Ponge Red Hat, Arthur Navarro Red Hat, Clément Escoffier Red Hat, Frédéric Le Mouël University of Lyon; INSA Lyon; Inria; CITI DOI |