PLMay 4

Compile-Time Java Stream Fusion via mapMulti

arXiv:2605.026917.3
Predicted impact top 54% in PL · last 90 daysOriginality Synthesis-oriented
AI Analysis

For Java developers using Stream pipelines, this optimizer reduces performance overhead without the limitations of prior approaches like Streamliner.

The authors present a compile-time optimizer for Java Stream pipelines that merges consecutive map() and filter() operations into a single mapMulti() call, reducing intermediate object creation. Evaluated on nine benchmarks, it shows superior performance in two cases and comparable results in most others, and passes all 31,799 unit tests of Apache Kafka.

The Java Stream API, introduced in Java 8, makes data processing more expressive and concise compared to imperative loops. However, this abstraction can come with significant performance overhead, often due to the creation of multiple intermediate objects during pipeline execution. In functional languages such as Haskell, this problem is addressed through stream fusion, a compile-time optimization that eliminates unnecessary intermediate structures. Inspired by this idea, Streamliner was the first tool to perform ahead-of-time, bytecode-to-bytecode stream optimization for Java by unrolling stream pipelines into imperative loops. In this paper, we introduce an open-source optimizer that takes a different approach. Instead of unrolling streams into loops, it merges consecutive map() and filter() operations into a single mapMulti() call, available since Java 16. Our method avoids several limitations of Streamliner, including its sensitivity to escaping objects in lambda expressions and its restrictions on assigning or passing streams as variables. We evaluated our optimizer on nine benchmarks and observed superior performance in two cases and comparable results in most others. We also applied it to the bytecode of Apache Kafka, successfully executing all 31,799 unit tests without failures.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes