SQL to Stream with S2S: An Automatic Benchmark Generator for the Java Stream API
summary
S2S automatically compiles SQL query plans into Java Stream pipelines by reading tables via JDBC (SQLite supported), visiting planner nodes and emitting Stream creation, map/filter, and terminal collectors; it converts aggregates to custom Collector code and implements both nested-loop and hash joins by composing flatMap/grouping collectors. The tool emits runnable Java, JUnit tests and generates JMH benchmarks, produces the BSS suite (8 queries, 7 from SteelFusion + one complex TPC‑H query) and validates results against an existing SQL engine; current limits skip takeWhile/dropWhile.
AI-written summary · about
chapters (9)
- 0:00S2S introduction and purpose
- 2:13Java Stream API benchmark challenges
- 4:01SQL to Stream API conversion
- 6:50S2S architecture and workflow
- 8:39Query plan to Stream API
- 10:45First Stream API benchmark suite
- 14:58S2S limitations and future work
- 16:03S2S conclusion and expansions
- 17:55Q&A
related talks
11mReady for Java 9 - Bridging the Gap Between Database and Stream
44mI didn't know you could do that with Java Streams!
01h 12mHidden pearls for high-performance-persistence in Java
50mMicroStream vs. Hibernate: An Empirical Comparison
47mWhen Greed Is Good: Understanding Java Stream Performance
54mDataframes, Collections and Streams in Java
47mJOOQ, Joy of SQL
54mEclipse MicroStream - Ultra-Fast Java Cloud-Native Persistence for Microservice
