Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,943 posts.
Adding runtime benchmarks to the Rust compiler benchmark suite
This post describes the design and implementation of a runtime benchmark suite for measuring the performance of Rust programs, which was recently added into the Rust compiler suite. I have recently blogged about how the whole benchmark suite works, so feel free to read that post first if you want to gather a bit more…
The occasional ECONNRESET
Two services running on the same machine. One of them opens a listening TCP socket bound to localhost, the other one connects to that. They exchange data. Every now and then , the service that initiated the connection gets an ECONNRESET while reading data from the socket -- but no other errors show up in the logs, no…
Sorry, Wrong Number: Debugging a Crash Under Wine
A blog about software.
UEFI Programming – First Steps (2009)
In this article, I will describe steps needed to start on with development of real UEFI applications on x86 PC, and share some practical experiences with problems doing so. I will focus on 64-bit version of UEFI, because the 32-bit version isn't much used in this area (most likely due to Microsoft decision not to…
A kernel bug froze my machine: Debugging an async-profiler deadlock
How I investigated and worked around a kernel bug that caused async-profiler to freeze my machine whenever I tried to use a profiler.
Flatcar: OS Innovation with Systemd-Sysext
The current state of systemd-sysext in Flatcar and the next steps
The Two Abstractions of System Design: Hide or Reduce
When talking about TLA+, I keep referring to "abstraction" as the most important thing to learn . And it is about the hardest to learn as w...
High Performance Z80 Emulation
…wherein I talk about my latest Z80 emulation adventures.
Actix Web: Optimization Amongst Optimizations
It’s already been a great reading day for retrospectives on the last ten years / predictions for the next. Here’s to hoping that everyone had a good break (or at least a few days off), set or didn’t set resolutions, and is refreshed and ready for what comes next.
Computer Networking Introduction: Ethernet and IP – Heavily Illustrated (2021)
What is a LAN? What is a network segment? How are L1, L2, and L3 segments related? What does it take to send an IP packet from one host to another? What is the difference between LAN, VLAN, and VXLAN?
Scaling Out PostgreSQL for CloudFlare Analytics Using CitusDB (YC S11)
When I joined CloudFlare about 18 months ago, we had just started to build out our new Data Platform. At that point, the log processing and analytics pipeline built in the early days of the company had reached its limits.
QEMU AioContext removal and how it was done
This post is about the AioContext lock removal in QEMU 9.0 (planned for release in 2024), how we got here, and what it means for multi-threa...
1.1B Taxi Trips on BrytlytDB 2.0
Benchmarks & Tips for Big Data, Hadoop, AWS, Google Cloud, PostgreSQL, Spark, Python & More...
Investigating the Performance Overhead of C++ Exceptions
C++ exceptions have their place, but using an alternative is recommended for general program flow control.
Queues should be empty
I’ve been writing a pubsub listener for work recently and had this silly “shower thought”: the ideal queue should be empty. Why? If the queue is not empty, it means that whatever job is consuming from the queue is not keeping up with messages coming into it. Ok, then if queues are supposed to be empty, then what are…
McDonalds Event Driven Architecture
We explore our journey of developing a unified platform enabling real-time, event-driven architectures.
GCC always assumes aligned pointer accesses (2020)
Explore the risks associated with unaligned pointer accesses in GCC. Understand how these assumptions can lead to unexpected program behavior and potential security vulnerabilities. Learn best practices to mitigate these risks and write secure code.
Real-Time Garbage Collection Is Real
Real-Time Garbage Collection (RTGC) tests the limits of what we typically think is possible in production software. You might hear “Real-Time” and “Garbage Collection” together and think “If you truly need real-time guarantees, why would you use a garbage collected language?” or “How is real-time Garbage Collection…
We Need More Operating Systems
A blog about computer science education. Projects, resources, and ideas for teaching, learning, and using computer science. By a teacher for teachers.
Commodore 900: Unix-like workstation/server that was eclipsed by Amiga (2020)
Some time ago I acquired a Commodore 900 computer. It was originally owned by one of the engineers who worked on the project but it needed some attention to get it to work.
This is the mail system
This is how we tell hundreds of millions of computer users that something has gone wrong:
Let’s Talk OpenZFS Snapshots
Optimize OpenZFS snapshots. Learn which data benefits from snapshots, how long to keep them, and how to avoid performance bottlenecks.
Multi-Agentic Software Development Is a Distributed Systems Problem
Recently, I've been thinking a lot about scaffolding and languages for managing systems of LLMs coordinating with each other — new programming languages might be the ideal solution for this area.
Evaluating M3 Pro CPU Cores: General Performance
Using assembly language test loops to understand the differences between M1 Pro and M3 Pro CPU cores casts new light on their differences.
Using FireWire on a Raspberry Pi
After learning Apple killed off FireWire (IEEE 1394) support in macOS 26 Tahoe, I started looking at alternatives for old FireWire equipment like hard drives, DV cameras, and A/V gear. I own an old Canon GL1 camera, with a 'DV' port. I could plug that into an old Mac (like the dual G4 MDD above) with FireWire—or even…