It’s been a while since my last technical deep dive, but I’m excited to share my newest article: "How Fast Are Streams Really? A Realistic Look at Performance and When It Matters."
In this article, I dive into the performance trade-offs between hashtag#Java Streams and traditional loops, backed by JMH benchmarks.
The results might surprise you: when does Stream overhead become negligible, and when should you stick with loops?
But beyond chasing nanoseconds, I wanted to raise a deeper question: when do these performance differences actually matter in real-world applications?
Maybe it’s time to rethink where our optimization efforts go — and what principles should guide our design choices.
👉 Read the full article on Medium: https://medium.com/@benweidig/how-fast-are-streams-really-951274d2943c
👉 Don’t have a Medium account? Read it for free on my blog: https://belief-driven-design.com/how-fast-are-streams-really-ad9cc/
29.4.2025 13:06It’s been a while since my last technical deep dive, but I’m excited to share my newest article: "How Fast Are Streams Really? A...Stuck in Taiwan, due to my flight back getting cancelled thanks to the typhoon. Hopefully the rescheduled flight on the 1st will go as planned.
30.10.2024 14:06Stuck in Taiwan, due to my flight back getting cancelled thanks to the typhoon. Hopefully the rescheduled flight on the 1st will go as...✈️ FRA-HKG-NRT
16.10.2024 11:08✈️ FRA-HKG-NRTMy latest article, "The Bytecode Chicken-Egg Problem: Breaking the Cycle with a Future-Ready New Class-File API", is a (quite long) write-up of the talk I gave at JUG Karlsruhe a few weeks back.
In the article, I explore the Bytecode ecosystem and discuss the often-overlooked interdependence between the JDK and third-party Bytecode manipulation libraries, highlighting the "chicken-egg" problem.
The second half covers how the OpenJDK team intends to fix the problem by introducing a brand-new Class-file API.
If you're interested in Bytecode, modern API design, and how to actually use the new Class-file API, this one's for you!
Medium: https://medium.com/@benweidig/the-bytecode-chicken-egg-problem-25c35879aefe
My blog: https://belief-driven-design.com/bytecode-chicken-egg-73510/
2.10.2024 05:52My latest article, "The Bytecode Chicken-Egg Problem: Breaking the Cycle with a Future-Ready New Class-File API", is a (quite...Vacation time! Current I‘m on Majorca. It‘s quite fun with friends, but the drunken shenanigans are weird...
12.7.2024 18:28Vacation time! Current I‘m on Majorca. It‘s quite fun with friends, but the drunken shenanigans are weird...Working with native code in Java can be quite a hassle.
Thankfully, #Java 22 introduced a new API to replace JNI by providing a modern, less brittle approach.
Read more about it in my latest "Looking at Java 22" article, either on Medium https://medium.com/@benweidig/looking-at-java-22-foreign-function-memory-api-d9a3113819cf or on my blog https://belief-driven-design.com/looking-at-java-22-foreign-function-memory-api-57fde/
17.4.2024 14:00Working with native code in Java can be quite a hassle.Thankfully, #Java 22 introduced a new API to replace JNI by providing a modern, less...Starting the day with a spotty internet connection… how lovely 🙄
28.3.2024 07:44Starting the day with a spotty internet connection… how lovely 🙄3000$ for a one-way upgrade… a round-trip ticket would be cheaper!
9.12.2023 00:083000$ for a one-way upgrade… a round-trip ticket would be cheaper!Trying to upgrade my ✈️ seat and 3 really nice service woman trying to find out for over 20 minutes what the price might be… I really want to take a shower before take-off, hurry up!
9.12.2023 00:03Trying to upgrade my ✈️ seat and 3 really nice service woman trying to find out for over 20 minutes what the price might be… I really...I really love Japan, but OMG! I‘ve already heard enough renditions of popular Christmas songs for a lifetime… and it’s bot even December yet! Too male it worse, it’s often imjust the hook line, so you get it stuck in your head 😵💫
29.11.2023 23:28I really love Japan, but OMG! I‘ve already heard enough renditions of popular Christmas songs for a lifetime… and it’s bot even...Finally finished my #Java 21 article about "Structured Concurrency" to be published next week.
After that, it's either about "CRaC" or the current state of the available JDK ecosystem, revisiting an article topic from 2020.
So far, we've looked at 10 of the 15 JEPs of Java 21.
This time, however, let's take a look at "the little things" that aren't represented by a JEP, like API and tool additions.
These features might not be as significant or impactful as the big-picture features.
Nevertheless, we should learn about them, as there's always an interesting change or hidden gem among them.
In my latest article, I take a look at some of these features that caught my attention.
Read all about it on Medium https://medium.com/@benweidig/looking-at-java-21-the-little-things-efff8e0a9c3b or my blog https://belief-driven-design.com/looking-at-java-21-little-things-ecb3a/.
Localization is an important step for any app to reach a broader market and be more inclusive.
So far, it felt like a chore in Xcode, with no obvious workflow or integrated tools that help you out more than the bare minimum.
But no more, Xcode 15 introduced a new and easy-to-use way for handling localization: String Catalogs.
Even without actually localizing your app, it helps you to aggregate your String into a single place for things like simpler proof-reading.
Learn more about it in my latest article on Medium https://medium.com/stackademic/xcode-string-catalogs-101-5c3f223e916b or on my blog https://belief-driven-design.com/xcode-string-catalogs-101-672f5/
20.9.2023 14:43Localization is an important step for any app to reach a broader market and be more inclusive.So far, it felt like a chore in Xcode, with no...I pay for YouTube so why the hell does the Google search result play ads on embedded videos? Well, I know, more ad money, but come on...
17.9.2023 07:16I pay for YouTube so why the hell does the Google search result play ads on embedded videos? Well, I know, more ad money, but come on...Not every #Java 21 feature is about introducing new language additions or awesome new APIs for immediate consumption.
A more technical new feature was adding generations to the Z Garbage Collector to make it even better!
Check out the details about ZGC and a way too wordy introduction about GC 🚮 in general in my latest article!
Read it on Medium https://medium.com/@benweidig/looking-at-java-21-generational-zgc-7214cb0c44c2 or my blog https://belief-driven-design.com/looking-at-java-21-generational-zgc-e5c1c/
12.9.2023 15:04Not every #Java 21 feature is about introducing new language additions or awesome new APIs for immediate consumption.A more technical new...Time for another #Java 21 article!
Pattern matching already got a big upgrade in Java 21 in the form of switch pattern matching.
But now, even Records can benefit!
Let's take a quick look at another preview feature of the upcoming JDK release: Record Patterns.
Blog: https://belief-driven-design.com/b5282/
Medium: https://medium.com/@benweidig/34cc1756edf6
5.9.2023 16:21Time for another #Java 21 article!Pattern matching already got a big upgrade in Java 21 in the form of switch pattern matching.But now, even...I almost dismissed my invitation to Google Foobar, a "secret/invite-only" hiring challenge that starts on their search result page, as I thought it was some date-related thing like their doodles...
3.9.2023 10:14I almost dismissed my invitation to Google Foobar, a "secret/invite-only" hiring challenge that starts on their search result...Not everything a new #Java version release changes are additions.
Let's take a look at the two features that Java 21 will deprecate or at least prepare for removal.
Read it on my blog https://belief-driven-design.com/looking-at-java-21-feature-deprecations-03fff/ or on Medium https://medium.com/@benweidig/looking-at-java-21-feature-deprecations-270e74006bf0
28.8.2023 16:11Not everything a new #Java version release changes are additions.Let's take a look at the two features that Java 21 will deprecate or at...Back from my houseboat vacation on the Mecklenburg Lake Plateau!
I fell off during docking at a marina, which was embarrassing and resulted in some bruises and cuts, and I kinda fucked up my left arm as it caught my full weight to stop the fall 😕
Nevertheless, it was a fun vacation with great weather ☀️
20.8.2023 12:40Back from my houseboat vacation on the Mecklenburg Lake Plateau!I fell off during docking at a marina, which was embarrassing and resulted...Time for another Java 21 article!
The switch statement has received improvements before, like making it usable as an expression in Java 14.
But Java 21 introduces numerous new features that make it even more versatile: Pattern Matching.
https://belief-driven-design.com/looking-at-java-21-switch-pattern-matching-14648/
8.8.2023 15:23Time for another Java 21 article!The switch statement has received improvements before, like making it usable as an expression in Java...⬆️
⬇️