Analysing the performance and costs of reactive programming libraries in Java

Julien Ponge, Arthur Navarro, Clément Escoffier, Frédéric Le Mouël
2021 Proceedings of the 8th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems  
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
more » ... treams 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.
doi:10.1145/3486605.3486788 fatcat:hbfmowdcvncyvis4hnbx7urz5a