Blog posts from 2025.
Java imperative vs functional in 2025 — revisiting a 2015 microbenchmark
Quick numbers (avg; smaller is faster) I (imperative nested): 3.28 µs I2 (imperative freq-map): 1.93 µs F (streams grouping): 127.37 µs FP (parallel streams grouping): 599.28 µs Winner: I2 — imperative freq-map Note: These are sample numbers from the run below on my machine; yours will differ. I/F labels mirror the 2015 post for a simple visual compare. == 2015-style harness (I:/F: lines) == ozkan@ozkan-debian:~/projects/ozkanpakdil.github.io/scripts/compare-2015-25$ ./run.sh javac 25 I:5372 F:22032373 I:5816 F:186352 F:144816 F:134903 F:107685 I:4919 I:4903 I:4698 I:4147 F:104857 == 2025 benchmark summary (fastest → slowest) == ...