Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 287 posts.
What Makes a Graphics Systems Paper Beautiful
Addendum: I've added a few additional tips for conference papers chairs, papers committee members, and papers sorters .
Async.h – asynchronous, stackless subroutines in C
The async/await idiom is becoming increasingly popular. The first widely used language to include it was C#, and it has now spread into Jav...
Emulator basics: a stack and register machine
Writing an x86 emulator from scratch in JavaScript: 1. a stack and register machine
FreeBSD – A lesson in poor defaults
This page lists some of the changes I make to a vanilla install of FreeBSD for security hardening. Some changes to increase network performance or make things a bit more sane are also included. It only covers basic changes that a sysadmin can make to a running system.
Let’s stop copying C (2016)
Ah, C. The best lingua franca we have… because we have no other lingua francas. Linguae franca. Surgeons general? C is fairly old — 44 years, now! — and comes from a time when there were possibly more architectures than programming languages. It works well for what it is, and what it is is a relatively simple layer of…
Beating C with 70 lines of Go
Writing a faster wc utility in Go
ELF files on Linux
An step-by-step introduction into ELF files. Learn the structure and format, to understand how binaries and libraries on Linux systems work.
Seven Commandments for Event-Driven Architectures
The critical rules to keep in mind when designing an event-driven architecture
JVM Anatomy Quarks: Compressed References
"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.
Modern text rendering with Linux: Part 1
Introduction
A new cycle-stepped 6502 CPU emulator
TL;DR: The how and why of the new 6502 emulator in the chips project.
Notes on the Amazon Aurora Paper
This is my notes on the paper: Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases.
Full-system dynamic tracing on Linux using eBPF and bpftrace
How do you debug an application, library or an entire system with multiple processes? One answer: tracing. An introduction into bpftrace, and an overview of the Linux tracing ecosystem (DTrace, eBPF, uprobes, etc).
The Day “/Proc” Died
Solaris'd... This morning I got an email from our group manager asking about a UNIX server...
Fibers: An Elegant Windows API
The Windows API — a.k.a. Win32 — is notorious for being clunky, ugly, and lacking good taste. Microsoft has done a pretty commendable job with backwards compatibility, but the trade-off is that the API is filled to the brim with historical cruft. Every hasty, poor design over the decades is carried forward forever…
OpenSSH taking minutes to become available, booting takes half an hour (2018)
So, your machine now needs minutes to boot before you can ssh in where it used to be seconds before the Debian Buster update?
Formatting Is Unreasonably Expensive for Embedded Rust
As a (late) part of the #rust2020 request, I wanted to talk about one of the paper-cuts that has become decently problematic for new and experienced users of Embedded Rust: The size costs of formatting in Rust today are unreasonably expensive for users of Rust on bare metal embedded systems. In particular there are…
An Introduction to Vectorization
Your CPU has a 32-bit addition instruction that computes the sum of two 32-bit integers x and y, producing a 32-bit result. (The 33rd bit of the sum, the "carry bit", is usually thrown away.)
Raspberry Pi microSD follow-up, SD Association fools me twice?
/ Fool me once, shame on you. Fool me twice, \ \ prepare to die. (Klingon Proverb) / -------------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || (Excerpt from Ansible for DevOps, chapter 12.) The fallout from this year's microSD card performance comparison has turned into quite a…
Machine learning systems are stuck in a rut
Machine learning systems are stuck in a rut Barham & Isard, HotOS’19 In this paper we argue that systems for numerical computing are stuck in a local basin of performance and programmabil…
Race Condition vs. Data Race (2011)
It’s terribly punny/dorky of me, but reading your post it just occurred to me one could start a blog called “Race Condition” about being a person of color and being a computer scientist.
Ways to break your systems code using volatile (2010)
Regarding the example #5, I must be confused about the definition of a sequence point because the resulting assembly output seems to be non-ANSI C:
“It's done in hardware so it's cheap” (2012)
This is one of these things that look very obvious to me, to the point where it seems not worth discussing. However, I've heard the idea that "hardware magically makes things cheap" from several PhDs over the years. So apparently, if you aren't into hardware, it's not obvious at all.