Treffer: Analysing the performance and costs of reactive programming libraries in Java

Title:
Analysing the performance and costs of reactive programming libraries in Java
Contributors:
Red Hat Inc., Dynamic Software and Distributed Systems (DYNAMID), CITI Centre of Innovation in Telecommunications and Integration of services (CITI), Institut National des Sciences Appliquées de Lyon (INSA Lyon), Université de Lyon-Institut National des Sciences Appliquées (INSA)-Université de Lyon-Institut National des Sciences Appliquées (INSA)-Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National des Sciences Appliquées de Lyon (INSA Lyon), Université de Lyon-Institut National des Sciences Appliquées (INSA)-Université de Lyon-Institut National des Sciences Appliquées (INSA)-Institut National de Recherche en Informatique et en Automatique (Inria), This work is partially supported by Red Hat Research.
Source:
REBLS 2021: 8th ACM International Workshop on Reactive and Event-Based Languages and Systems co-located with the SPLASH 2021 - ACM Annual Conference on Systems. :51-60
Publisher Information:
CCSD; ACM, 2021.
Publication Year:
2021
Collection:
collection:INSA-LYON
collection:CITI
collection:INSA-GROUPE
collection:UDL
Subject Geographic:
Original Identifier:
HAL: hal-03409277
Document Type:
Konferenz conferenceObject<br />Conference papers
Language:
English
Relation:
info:eu-repo/semantics/altIdentifier/doi/10.1145/3486605.3486788
DOI:
10.1145/3486605.3486788
Rights:
info:eu-repo/semantics/OpenAccess
Accession Number:
edshal.hal.03409277v1
Database:
HAL

Weitere Informationen

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.