Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
Fewer mallocs in curl
Today I landed yet another small change to libcurl internals that further reduces the number of small mallocs we do. This time the generic linked list functions got converted to become malloc-less (the way linked list functions should behave, really). Instrument mallocs I started out my quest a few weeks ago by…
Call me maybe: Elasticsearch
This post covers Elasticsearch 1.1.0. In the months since its publication, Elasticsearch has added a comprehensive overview of correctness issues and their progress towards fixing some of these bugs.
Beating NumPy matrix multiplication in 150 lines of C
A detailed blog post on optimizing multi-threaded matrix multiplication for x86 processors to achieve OpenBLAS/MKL-like performance. Tags: High-performance GEMM on CPU, Fast GEMM on CPU, High-performance matrix multiplication on CPU, Fast Matrix Multiplication on CPU, Matrix multiplication in C, GEMM in C, Matrix…
Everything Is Broken: Shipping Rust-Minidump at Mozilla
We've been working on the development of rust-minidump. The first in this two-part series explains what minidumps are and how we made rust-minidump.
Technical reasons to choose FreeBSD over GNU/Linux (2020)
I run FreeBSD as my daily driver on both my main workstation and on all my servers and I have been running FreeBSD since about 1999 because I consider it an amazing operating system. In this article I will address some of the technical reasons for choosing FreeBSD over a GNU/Linux distribution.
I wasted weeks hand optimizing assembly because I benchmarked on random data
The target system was a distributed data processing platform that ran across hundreds of thousands of machines. At such scales, a 0.5% improvement would easily make up my salary going forward, and 2% was a good result for the half.
`find` + `mkdir` is Turing complete
We show that a system that has only GNU's find and mkdir commands is Turing-complete.
Writing a Bootloader
This post describes how to write a simple Hello world bootloader
How the SQLite virtual machine works
Let's look at how SQLite parses, optimizes, and compiles every query that it receives.
Visualizing algorithms for rate limiting
Smudge.ai is a Chrome extension that gives you ChatGPT-powered shortcuts in your right-click menu.
Zero downtime Postgres upgrades
How we upgraded from Postgres 11.9 to 15.3 with zero downtime
LLVM: The bad parts
A few years ago, I wrote a blog post on design issues in LLVM IR . Since then, one of these issues has been fixed fully (opaque pointers migration), one has been mostly fixed (constant expression removal), and one is well on the way towards being fixed (ptradd migration).
Learning to Build Distributed Systems
A common question I get at work is “how do I learn to build big distributed systems?”. I’ve written replies to that many times. Here’s my latest attempt.
The collapse of complex software
In 1988, the anthropologist Joseph Tainter published a book called The Collapse of Complex Societies. In it, he described the rise and fall of great…
Non-Posix File Systems
Operating systems and file systems have traditionally been developed hand in hand. They impose mutual constraints on each other. Today we have two major leaders in file system semantics: Windows and POSIX . They are very close to each other when compared to the full set of possibilities. Interesting things happened…
Hidden latency in the Linux network stack
Back in November we wrote a blog post about one latency spike. Today I'd like to share a continuation of that story. As it turns out, the misconfigured rmem setting wasn't the only source of added latency. It looked like Mr Wolf hadn't finished his job.
Expanding Fuchsia's open source model
Today we are expanding Fuchsia’s open source model to welcome contributions from the public.
WebContainers: Run Node.js natively in the browser
Today we're excited to announce WebContainers, a new type of WebAssembly-based operating system that boots instantly and enables Node.js environments to run natively in-browser.
Lucet: Native WebAssembly Compiler and Runtime
Today, we're thrilled to announce the open sourcing of Lucet, our native WebAssembly compiler and runtime. WebAssembly is a technology created to enable web browsers to safely execute programs at near-native speeds, and it's been shipping in the four major browsers since early 2017.
Chrome is deploying HTTP/3 and IETF QUIC
QUIC is a new networking transport protocol that combines the features of TCP, TLS, and more. HTTP/3 is the latest version of HTTP, the prot...
Kitty 0.50
kitty is a feature-rich, cross-platform, fast, GPU based terminal. To update kitty, follow the instructions. Recent major new features: Docked windows [0.50]: kitty windows can now be docked to an ...
Notes on Distributed Systems for Young Bloods (2013)
I’ve been thinking about the lessons distributed systems engineers learn on the job. A great deal of our instruction is through scars made by mistakes made in production traffic. These scars are useful reminders, sure, but it’d be better to have more engineers with the full count of their fingers.
MicroVMs: Run isolated sandboxes with full lifecycle control
AWS launches a new serverless compute primitive, AWS Lambda MicroVMs. VM-level, isolated sandboxes with no shared kernel or resources between sessions. Rapid launch and resume, full lifecycle control, state preservation up to 8 hours, no infrastructure to manage.