Topics /

Systems & Performance

The most popular blog posts about systems & performance on Hacker News. 399 posts.

2024
242

Baby’s Second Garbage Collector

This blog post is meant to an iteration on the tutorial and introduction to garbage collection implementation presented in this classic blog post . We are still working with simple garbage collectors, but this time another one with a bit more complexity.

243

The Linux audio stack demystified (and more)

Digital audio processing is a complex yet fascinating subject. Getting a deeper understanding requires knowledge in multiple technical disciplines, including physics, electrical/electronical engineering, and some software engineering when it comes to parts of the Linux ecosystem. This article aims to demystify the…

244

Lessons learned from profiling an algorithm in Rust

Recently, I've been working on a new approximate nearest neighbor search algorithm called RaBitQ . The author has already provided a C++ implementation that runs quite fast. I tried to rewrite it in Rust (yet another RiiR). But I found that my implementation is much slower than the original one. Here is how I improve…

245

Billion file filesystem

For a lark I made an ext4 file system with a billion empty files. https://gitlab.com/larswirzenius/create-empty-files has the program I wrote for this. I've done this before , but this time I made it a little simpler for me to do it again: everything in one Rust program rather than clunky scripts.

246

Counting bytes faster than you'd think possible

“Summing ASCII Encoded Integers on Haswell at the Speed of memcpy” turned out more popular than I expected, which inspired me to take on another challenge on HighLoad: Counting uint8s . I’m currently only #13 on the leaderboard, ~7% behind #1, but I have already learned some interesting things. In this post I’ll…

248

Plan 9 is a uniquely complete operating system

A large contributor to the "feel" of an Operating System comes from the software it chooses to include by default. There are entire linux distributions that differentiate themselves just based on the default configured software. There is room for so many options of base software because there are in general many…

251

The Heart of Unix (2018)

Despite all of its warts, I like working in Linux. I've used it for 15 years and I've never been as productive in another environment. Most people claim that it's the configurability of Linux that keep the users coming. That may have attracted me at first, but what attracts me now is its programmability.

256

Windows dynamic linking depends on the active code page

Windows paths have been WTF-16 -encoded for decades, but module names in the import tables of Portable Executable are octets. If a name contains values beyond ASCII — technically out of spec — then the dynamic linker must somehow decode those octets into Unicode in order to construct a lookup path. There are multiple…

258

Evolution of the ELF object file format

Updated in 2025-09. The ELF object file format is adopted by many UNIX-like operating systems. While I've previously delved into the control structures of ELF and its predecessors, tracing the historical evolution of ELF and its relationship with the System V ABI can be interesting in itself. The format consists of…

259

IPC in Rust – A Ping Pong Comparison

I wanted to explore different ways of communicating between different processes executing on the same machine, and doing so as fast as possible. We're focussing on high speed inter-process communication (IPC), but some of these approaches can be extended across a network. We'll do this exploration in Rust.

263

AmpereOne: Cores Are the New MHz

Cores are the new megahertz, at least for enterprise servers. We've gone quickly from 32, to 64, to 80, to 128, and now to 192-cores on a single CPU socket! Amazon built Graviton 4, Google built Axiom, but if you want your own massive Arm server, Ampere's the only game in town. And fastest Arm CPU in the world is…