Dmytro Vyazelenko
vyazelenko.bsky.social
Dmytro Vyazelenko
@vyazelenko.bsky.social
Aeron, JCrete/JAlba, performance.
Reposted by Dmytro Vyazelenko
My colleague Sanjay Ghemawat & I have done a fair bit of performance tuning of various pieces of code. We wrote an internal Performance Hints document ~2 years ago as a way of identifying some general principles & we've recently published a version of it externally.

Doc: abseil.io/fast/hints.h...
December 19, 2025 at 10:25 PM
Reposted by Dmytro Vyazelenko
“Mount Mayhem at Netflix: Scaling Containers on Modern CPUs” from @netflixeng.bsky.social

netflixtechblog.medium.com/mount-mayhem...
Mount Mayhem at Netflix: Scaling Containers on Modern CPUs
Authors: Harshad Sane, Andrew Halaney
netflixtechblog.medium.com
December 16, 2025 at 5:23 PM
Reposted by Dmytro Vyazelenko
My machine froze when I connected async-profiler and I wrote an article about it.

It involves debugging a half-dead Linux kernel, performing live surgery on a frozen CPU with GDB, pulling off a questionable resurrection and other party tricks :)

Read the full autopsy: questdb.com/blog/async-p...
How a Kernel Bug Froze My Machine: Debugging an Async-profiler Deadlock | QuestDB
How I investigated and worked around a kernel bug that caused async-profiler to freeze my machine whenever I tried to use a profiler.
questdb.com
December 11, 2025 at 4:34 PM
Reposted by Dmytro Vyazelenko
Here is my "Java Advent" article on nice and naughty cases of pattern matching, with nicer formatting than WordPress can muster, and the ability to leave comments without logging into WordPress: https://horstmann.com/un...
December 10, 2025 at 6:04 PM
Reposted by Dmytro Vyazelenko
Emily is really digging deep here.
December 8, 2025 at 7:12 PM
Reposted by Dmytro Vyazelenko
Sadly I’m inclined to agree — Europe needs to get its act together, strongly support Ukraine and become able to defend itself, as America is not going to come and help this time www.noahpinion.blog/p/europe-is-...
Europe is under siege
Menaced by Russia and China, abandoned by America.
www.noahpinion.blog
December 7, 2025 at 11:24 AM
Reposted by Dmytro Vyazelenko
High-Performance DBMSs with io_uring: When and How to use it
High-Performance DBMSs with io_uring: When and How to use it
We study how modern database systems can leverage the Linux io_uring interface for efficient, low-overhead I/O. io_uring is an asynchronous system call batching interface that unifies storage and network...
arxiv.org
December 6, 2025 at 4:16 PM
Reposted by Dmytro Vyazelenko
PR that addresses, Java JIT performance counters contention when multiple threads need to update them.

github.com/openjdk/jdk/...

redhatperf.github.io/post/method-...

#OpenJDK #Jit
Sharing is (S)Caring: How Tiered Compilation Affects Java Application Scalability
Understand how Tiered Compilation impacts the scalability of Java applications in modern environments.
redhatperf.github.io
November 28, 2025 at 10:11 AM
Reposted by Dmytro Vyazelenko
Putin's plan to end the war in Ukraine.

Cartoon by Michael de Adder
November 27, 2025 at 1:10 AM
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