Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,943 posts.
How we make 5000 row tables fast in Streak
Practical guides on CRM, sales pipelines, and Gmail productivity from the Streak team. Tips for sales teams, email workflows, and growing your business.
Xen Project Spectre/Meltdown FAQ
Updated to v3 on Dec 12th! Google’s Project Zero announced several information leak vulnerabilities affecting all modern superscalar processors. Details can be found on their blog, and in the Xen Project Advisory 254. To help our users understand the impact and our next steps forward, we put together the
BM25 in PostgreSQL
VectorChord-BM25 enhances PostgreSQL search with BM25 ranking, 3x faster than ElasticSearch. Supports BERT, Tocken, and Unicode tokenizers
A big step towards Firefox generational and compacting GC
People frequently ask me for status updates on generational GC, and I usually say I’ll tell them when something notable happens. Well, something notable just happened: exact rooting landed .
The Go 1.1 scheduler
One of the big features for Go 1.1 is the new scheduler, contributed by Dmitry Vyukov. The new scheduler has given a dramatic increase in performance for parallel Go programs and with nothing better to do, I figured I'd write something about it.
Scaling Kubernetes to Thousands of CRDs
Over the past few months Crossplane has pushed the boundaries of Kubernetes with the number of Custom Resources it supports. In this post we’ll explore the limitations Upbound engineers have discovered and how we’ve helped to overcome them.
Needy Programs
We used to use software; now software started to use us
macOS 11 boot volume layout
A complete guide to the structure and layout of APFS startup disks from High Sierra to Big Sur (Intel), together with tear-out PDF charts.
A brief history of Dell Unix (2008)
[update December 2021: files for 86Box install at update December 2020: Dell Unix on 86Box “Today let me present Dell Unix more properly, with 1024×768, 256 colors video and proper networking…
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).
A brief history of APFS (2022)
Born secretly on 27 March 2017, it was Apple’s biggest gamble. Introduced in High Sierra, it didn’t work on Fusion Drives and had other problems. Also explains version numbering.
How SerenityOS declares ssize_t
This post explores one of my favorite hacks in SerenityOS. I don’t recommend doing this in your codebase, but it has worked for us so far. :^)
Wild performance tricks
Last week I had the pleasure of attending RustForge in Wellington, New Zealand. I gave a talk titled “Wild performance tricks”. You can watch a recording of my talk . If you’d prefer to read rather than watch, the rest of this post will cover more or less the same material. The talk shows some linker benchmarks, which…
FreeBSD Jails the hard way
There are many great options for managing FreeBSD Jails. iocage, warden and ez-jail aim to streamline the process and make it quick an easy to get going. But sometimes the tools built right into the OS are overlooked.
SIMD in the 90s: Programming Intel's Pentium MMX
If you used PCs in the 90s, you probably remember the 'Intel Inside MMX' stickers. This article explores Intel's major attempt at bringing SIMD instructions to mainstream desktop CPUs.
Linux 7.0 Broke PostgreSQL: The Preemption Regression Explained
Linux 7.0 delivered roughly half the throughput of Linux 6.x on the same hardware and workload.
Spotting and avoiding heap fragmentation in Rust applications
One of our Rust services started to show an odd memory profile. This is the story of how we investigated the issue.
Speculation in JavaScriptCore
This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine.
Building account systems
Troy Hunt recently published a blog post titled “Authentication guidance for the modern era”. It has a big pile of solid advice on what…
Text consoles and framebuffer consoles in Linux
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
SIMD < SIMT < SMT: Parallelism in Nvidia GPUs (2011)
Programmable NVIDIA GPUs are very inspiring to hardware geeks, proving that processors with an original, incompatible programming model can become widely used.
Wasmi v0.32: WebAssembly interpreter is now faster than ever
After many months of research, development and QA, Wasmi’s most significant update ever is finally ready for production use. Wasmi is an efficient and versatile WebAssembly (Wasm) interpreter with a focus on embedded environments. It is an excellent choice for plugin systems, cloud hosts and as smart contract…
A year of Windows kernel font fuzzing #1: the results
Posted by Mateusz Jurczyk of Google Project ZeroThis post series is about how we used at-scale fu...
Some small suggestions for the Intel instruction set
Programmers trying to make crypto run fast often say things like "Why can't the CPU designer just add a 128-bit multiplication instruction?" Sometimes these questions turn into academic papers analyzing the cycle counts that would be obtained from various instruction-set extensions. What's missing from most of these…