Topics /

Systems & Performance

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

2024
241

Properly testing concurrent data structures

There's a fascinating Rust library, loom, which can be used to thoroughly test lock-free data structures. I always wanted to learn how it works. I still do! But recently I accidentally implemented a small toy which, I think, contains some of the loom's ideas, and it seems worthwhile to write about that. The goal here…

244

Wasmer 5.0

We are thrilled to announce the release of **Wasmer 5.0**, the latest milestone in our journey to make WebAssembly the greatest tool for executing softw...

246

Raspberry Pi CM5 is a faster, drop-in upgrade

The Raspberry Pi Compute Module 5 is smaller than a credit card, and I already have it gaming in 4K with an eGPU, running a Kubernetes cluster, and I even upgraded my NEC Commercial display from a CM4 to CM5, just swapping the Compute Modules! The Compute Module 4 was hard to get for years. It launched right after the…

247

Building rqlite 9.0: Cutting disk usage by half

rqlite is a lightweight, open-source, distributed relational database written in Go. It is built on the Raft consensus protocol and uses SQLite as its storage engine. Development of 9.0 has begun and aims to reduce disk usage by approximately 50%. This goal will be achieved through a high-level design overhaul…

249

The RAM Myth

The RAM myth is a belief that modern computer memory resembles perfect random-access memory. Cache is seen as an optimization for small data: if it fits in L2, it’s going to be processed faster; if it doesn’t, there’s nothing we can do. Most likely, you believe that code like this is the fastest way to shard data (I’m…

253

Beating the Compiler

In modern times, everyone knows that writing assembly is a fool's errand: compilers are the result of literal engineer-centuries of work, and they know the processor much better than you do.

255

RavenDB 6.0.2 (A Jepsen Report)

RavenDB is a distributed document database which repeatedly advertises its support for ACID transactions. 1 It’s intended for OLTP workloads, and offers a variety of ETL paths for exporting data to other systems. Its transactional API revolves around a session handle, which “represents a single business transaction on…

257

The search for easier safe systems programming

I've been involved in the Rust project in some form or another since 2016, and it's a language I'm very comfortable using. Many Rust programmers could say the same . But, if we take a step back and are honest with ourselves, we'd admit that the road to getting to that level of comfort was difficult.

266

SIMD Matters: Graph Coloring

SIMD in game development Often in game development we talk about SIMD. It is the holy grail of CPU performance, often out of reach. The conventional wisdom is that it is difficult to achieve real gains from SIMD. It is tempting to build a math library around SIMD hoping to get some performance gains. However, it often…

267

Agilent 2000a / 3000a Oscilloscope NAND Recovery

As a resident member of the EEVblog Test Equipment Anonymous support group, I have picked up my fair share of old test equipment boat anchors, but my knees buckle at broken recently manufactured oscilloscopes in the sub $200 range. In this case, the Agilent / Keysight Infiniivision X-series oscilloscopes have been an…

270

RP2040 Boot Sequence

This document has been assembled to supplement a set of instructions about writing one's own bootloader for the RP2040. Writing a bootloader requires some understanding of the boot sequence, but it became a bit too cumbersome to include that explanation in the bootloader documentation.