Yes, I really did it! My latest contribution to #OpenJDK 21 will make your #Java program drive I/O bytes up to twice as fast through your streams.
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
Would you like to see me streaming a #java live coding #letsplay episode? Tell me your opinion in the video comments on Youtube!
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
If you are using SequenceInputStream, you will notice that it pulls all data into the JVM’s memory, just to drain it to another I/O sink. This is inefficient and slow. With my latest contribution contained in #OpenJDK 20, this will change dramatically: In the best case, all traffic is routed within the OS, and does not enter the JVM at all.
If you missed the original contribution last year, check my channel page, it is covered by a four-parts series!
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
Contributions to #OpenJDK don’t have to be huge always. Sometimes it is the small things that have BIG EFFECT. For example if a class was intended to be non-synchronized (hence: fast), implicitly is synchronized by mistake (hence: slow), is finally getting fixed after 30 years. Just few code lines changed, but multiplied by lots of existing #Java applications using that class, makes a BIG EFFECT in sum!
To get this performance optimization, immediately upgrade to JDK 20!
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
As #PushbackInputStream is quite similar to #BufferedInputStream, it was rather easy for me to apply the performance optimizations I already developed for BufferedInputStream to the PushbackInputStream. The contribution was accepted in November 2022, so it is now part of #OpenJDK (aka #Java) 20.
The change will make your application #transferTo bytes faster in case your source or target is a file stream and you wrapped it using a PushbackInputStream. For example, if you read the magic byte of a file to find out about the file type, then push it back and transferTo() the complete content to a specific image processing algorithm, the bytes will not walk through the in-memory buffer anymore, sparing processing time.
If you missed the original contribution last year, check my channel page, it is covered by a four-parts series!
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
Recently I boosted #BufferedInputStream by contributing to #OpenJDK. There was one case open, in which performance did not excel. Now in my new contribution to OpenJDK, which is contained in #Java 20, I fixed this – so in two thirds of all use cases, transferTo() should not stand in the way of I/O offloading anymore!
If you missed the original contribution last year, check my channel page, it is covered by a four-parts series!
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
Jakarta REST 4.0 will be backwards-incompatible, and here comes one of the first notable changes: The (actually wrong) MIME type application/svg+xml will not be provided out of the box anymore (at least eventually). If you want to use it (or even better, its correct successor image/svg+xml then simply created your own one instead.
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
One of my first contributions to the upcoming #JakartaREST 4.0 API was just merged (https://github.com/jakartaee/rest/pull/1066), so it is time to demonstrate why you will love `containsHeaderString`!
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
Last year I contributed a performance optimization to #OpenJDK that makes I/O operations much faster. Strange but true, with existing code often it did not chime in. The reason is that BufferedInputStream was used in many existing applications, which unfortunately skipped my optimization! So I had to fix that class, too! Check out this video to learn what I modified inside of #JDK20 and how it internally works like!
If you missed the original contribution last year, check my channel page, it is covered by a four-parts series!
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
If you like this video, please give it a thumbs up, share it, subscribe to my channel, or become my patreon https://www.patreon.com/mkarg. Thanks! 🙂
You must be logged in to post a comment.