Reaktive Programmierung

Die Jagd nach Performance: Ist Reactive Programming der richtige Weg?

Reactive Programming verspricht eine höhere Performance von Enterprise-Java-Anwendungen bei geringerem Speicherbedarf. Erreicht wird dieses Versprechen, indem blockierende Aufrufe vermieden werden. Blockierende Aufrufe führen im Betriebssystem immer zu Prozess- und damit zu Kontextwechseln. Solche Kontextwechsel haben einen hohen CPU- und Speicher-Overhead. Dieser Overhead wird durch weniger Kontextwechsel reduziert. Erkauft wird dieser Performancegewinn von Reactive Programming allerdings durch schlechtere Wartbarkeit der Software. Ist die höhere Performance aber diesen Preis wert, und was sind die Alternativen? Dieses Thema wollen wir uns einmal genauer anschauen.