Dmytro Vyazelenko
vyazelenko.bsky.social
Dmytro Vyazelenko
@vyazelenko.bsky.social
Aeron, JCrete/JAlba, performance.
Reposted by Dmytro Vyazelenko
This new AI world continues to frustrate the hell out of me. I'm seeing pull requests that clearly don't solve the problem, conversations that are automated nonsense, and fake engagement across all social media. No wonder people have no excitement about OSS work lately. ☹️
November 19, 2025 at 6:51 PM
Reposted by Dmytro Vyazelenko
No Cords Attached: Coordination-Free Concurrent Lock-Free Queues
No Cords Attached: Coordination-Free Concurrent Lock-Free Queues
The queue is conceptually one of the simplest data structures-a basic FIFO container. However, ensuring correctness in the presence of concurrency makes existing lock-free implementations…
arxiv.org
November 15, 2025 at 9:21 AM
Reposted by Dmytro Vyazelenko
Help--my LocalDate isn’t flattened! Just before my Valhalla talk at JFall, I found out that the early access build can flatten LocalDate arrays, but the latest version from Github cannot. Why? Serialization, of course. Read the gory details at https://horstmann.com/un...
November 10, 2025 at 6:52 AM
Reposted by Dmytro Vyazelenko
Method tracing in async-profiler 4.2
github.com/async-profil...

Also there’s system-wide process sampling on linux, this ends up in a `profiler.ProcessSample` JFR event. (I would love to see something like that on Darwin too).
github.com/async-profil...

#async-profiler
Method Tracing · async-profiler async-profiler · Discussion #1497
Background Async-profiler is often described as a low-overhead sampling profiler for Java. Sampling means the profiler collects statistical information about program execution by periodically inter...
github.com
October 21, 2025 at 11:53 AM
Reposted by Dmytro Vyazelenko
Can We Know Whether a Profiler is Accurate?

Spoiler: yes we can! But it took us figuring out a way to work around the fundamental observer effect.

stefan-marr.de/2025/10/can-...

If you're at SPLASH, don't miss our talk at VMIL today and at OOPSLA on Saturday!
Can We Know Whether a Profiler is Accurate?
Measuring causes profiles to change, so is there a way to work around it and know whether a profile is accurate?
stefan-marr.de
October 15, 2025 at 12:41 AM
Reposted by Dmytro Vyazelenko
(looks at another hair-raising concurrency bug and taps the sign again)
October 12, 2025 at 10:38 AM
Reposted by Dmytro Vyazelenko
JDK Memory corruption on AArch64 Byte code Rewriting, this can lead to impossible branch being taken among other issues.
(via Ismael Juma on Twitter)
bugs.openjdk.org/browse/JDK-8...
#openjdk
Loading...
bugs.openjdk.org
October 11, 2025 at 11:36 AM
Reposted by Dmytro Vyazelenko
#JUnit 6.0.0 is released!

✨ Java 17 and Kotlin 2.2 baseline
🌄 JSpecify nullability annotations
🛫 Integrated JFR support
🚟 Kotlin suspend function support
🛑 Support for cancelling test execution
⏭️ New `--fail-fast` mode for ConsoleLauncher
🧹 Removal of deprecated APIs

docs.junit.org/6.0.0/releas...
JUnit Release Notes
docs.junit.org
September 30, 2025 at 8:50 AM
Reposted by Dmytro Vyazelenko
What Makes System Calls Expensive: A Linux Internals Deep Dive.
blog.codingconfessions.com/p/what-makes...

Another great post by @abhi9u.bsky.social. I learned a lot, including vDSO.
What Makes System Calls Expensive: A Linux Internals Deep Dive
An explanation of how Linux handles system calls on x86-64 and why they show up as expensive operations in performance profiles
blog.codingconfessions.com
September 16, 2025 at 8:01 PM
Reposted by Dmytro Vyazelenko
Vibe Coding Is The WORST IDEA Of 2025 | @davefarley77.bsky.social

📅 Tonight @ 7pm (UK)

Susbcribe & hit the bell notification 🔔 so you never miss an upload ➡️ youtube.com/@ModernSoftw...
August 13, 2025 at 8:20 AM
Reposted by Dmytro Vyazelenko
Reposted by Dmytro Vyazelenko
NEW POST

Gen AI for software development is the biggest jump up in abstraction since assembler to HLLs, but also a jump sideways.

martinfowler.com/articles/202...
LLMs bring new nature of abstraction
a short post
martinfowler.com
June 24, 2025 at 2:10 PM
Reposted by Dmytro Vyazelenko
C++26 will include compile-time reflection: why should you care? https://lemire.me/blog/2025/06/22/c26-will-include-compile-time-reflection-why-should-you-care/
June 22, 2025 at 1:55 AM
Ever wondered what happens when you receive UDP datagrams in Java from multiple sources? Of course, allocation on every packet. ;)
bugs.java.com/bugdatabase/...

Btw, this breaks Aeron's promise on not allocating in the message path. Luckily, our C media driver is not affected.
Bug ID: JDK-8360063 Receiving UDP datagrams from multiple sources allocates on every packet
Component: core-libs | Sub-Component: java.net
bugs.java.com
June 20, 2025 at 9:36 AM
Reposted by Dmytro Vyazelenko
Little Bobby Tables had a brother
June 12, 2025 at 1:13 AM
Reposted by Dmytro Vyazelenko
Compact object header will move from experimental feature to product feature in the next LTS (JDK25 in Sept). So -XX:+UnlockExperimentalVMOptions will be no longer needed! 🙌 Examples of expected memory savings in the JEP below 👇
🎯 JEP 519 updated to target JDK 25
Title: Compact Object Headers
Type: feature
Component: hotspot / runtime
Release: 25
See openjdk.org/jeps/519
May 22, 2025 at 5:06 AM
Reposted by Dmytro Vyazelenko
Insightful session on advanced performance analysis with async-profiler, presented by Andrei Pangin.

🎥 www.youtube.com/watch?v=u7-S...

#Java #Performance #Profiling
Advanced performance analysis with async-profiler by Andrei Pangin
YouTube video by Devoxx UK
www.youtube.com
May 17, 2025 at 6:00 AM
Reposted by Dmytro Vyazelenko
TIL: since jdk22 you can use the JVM option -XX:LogClassLoadingCauseFor=com.mycompany.MyClass in conjunction with -Xlog:class+load+cause* to find out the stacktrace that triggers the load of the specify class.
see github.com/openjdk/jdk/...
8193513: add support for printing a stack trace on class loading by dougxc · Pull Request #14553 · openjdk/jdk
In the development of libgraal, it has been very useful to see why a given class is loaded (e.g., trying to reduce startup time by avoiding unnecessary eager class loading). One way to do this is t...
github.com
May 13, 2025 at 3:07 PM
Reposted by Dmytro Vyazelenko
PSA: If you suspect a JVM bug, try running with a fastdebug JVM before submitting a bug report. If you suspect a JVM bug, try running with a fastdebug JVM before submitting a bug report. If you suspect a JVM bug, try running with a fastdebug JVM before submitting a bug report. If you suspect a JVM b
February 20, 2025 at 9:07 AM
Reposted by Dmytro Vyazelenko
Quarterly updates of Corretto 23, 21, 17, 11, 8 are released. Among other things fixed in this release is the issue with JVM crash on some AArch64 machines like modern Macs: bugs.openjdk.org/browse/JDK-8...
bugs.openjdk.org
January 22, 2025 at 9:55 AM