Topics /

Systems & Performance

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

2020
481

Two Workers Are Quadratically Better Than One

For latency, anyway. A common architecture pattern is the “task queue”: tasks enter an ordered queue, workers pop tasks and process them. This pattern is used everywhere from distributed systems to thread pools. It applies just as well to human systems, like waiting in line at a supermarket or a bank. Task queues are…

483

OpenBSD Router Guide

NOTE: Currently this guide only deals with IPv4 as most people still don't use IPv6 and many ISPs also still only use IPv4, but IPv6 is planned for a future update of the guide.

486

A simple way to get more value from tracing

A lot of people seem to think that distributed tracing isn't useful, or at least not without extreme effort that isn't worth it for companies smaller than FB. For example, here are a couple of public conversations that sound like a number of private conversations I've had. Sure, there's value somewhere, but it costs…

491

What Shell Am I Using?

I wanted to install the latest version of zsh on my MacBook Pro. This is usually the first thing I install when setting up a new machine. A brew install zsh and a chsh later and I'm good to go (well, technically I had to add the homebrew location of zsh to /etc/shells as well). Close out Terminal.app and reopen to…

492

A New Back End for Cranelift: Instruction Selection

This post is the first in a three-part series about my recent work on Cranelift as part of my day job at Mozilla. In this first post, I will set some context and describe the instruction selection problem. In particular, I'll talk about a revamp to the instruction selector and backend framework in general that we've…

495

The Raspberry Pi 4 has a fan now – the Case Fan

Last year, I wrote a blog post titled The Raspberry Pi 4 needs a fan. And in a video to go along with that post, I detailed the process of drilling out a hole in the top of the official Pi 4 case and installing a 5v fan inside. But that solution wasn't great. The fan was a little loud and annoying, and would stay on…

504

How expensive is integer-overflow trapping in C++?

Integers in programming languages have a valid range but arithmetic operations can result in values that exceed such ranges. For example, adding two large integers can result in an integer that cannot be represented in the integer type. We often refer to such error conditions as overflows. In a programming languages…

505

Up to 4GB of Memory in WebAssembly

Thanks to recent work in Chrome and Emscripten, you can now use up to 4GB of memory in WebAssembly applications. That’s up from the previous limit of 2GB. It might seem odd that there was ever a limit - after all, no work was needed to allow people to use 512MB or 1GB of memory! - but it turns out that there are some…

508

Understanding Raft Consensus

Recently I was digging deeper into Raft , an important algorithm in the field of distributed systems. Raft is a consensus algorithm , meaning that it is designed to facilitate a set of computers agreeing on a state of the world (more on exactly how the state of the world is represented later), even when communications…

510

ARM MacBook vs. Intel MacBook

Up to yesterday, my laptop was a large 15-inch MacBook Pro. It contains an Intel Kaby Lake processor (3.8 GHz). I just got a brand-new 13-inch 2020 MacBook Pro with Apple's M1 ARM chip (3.2 GHz). How do they compare? I like precise data points. Recently, I have been busy benchmarking number parsing routines where you…