Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 458 posts.
Understanding L1 Terminal Fault aka Foreshadow: What You Need to Know
L1 Terminal Fault/Foreshadow explained in ~three minutesFor a more detailed technical view of L1 Terminal Fault, please see this deeper dive with Jon Masters.How we got here: a brief history of modern microprocessor cachesModern computer microprocessors are complex machines, filled with many optimizations designed to…
How Many Computers Are in Your Computer?
A catalogue of software constructs, languages, or APIs which are unexpectedly Turing-complete; implications for security and reliability.
TinyWM – A tiny window manager in around 50 lines of C
TinyWM is a tiny window manager that I created as an exercise in minimalism. It is also maybe helpful in learning some of the very basics of creating a window manager. It is only around 50 lines of C. There is also a Python version using python-xlib.
More details about mitigations for the CPU Speculative Execution issue
Posted by Matt Linton, Senior Security Engineer and Pat Parseghian, Technical Program Manager Yesterday, Google’s Project Zero team posted...
The relative performance of C and Rust
My blog post on falling in love with Rust got quite a bit of attention – with many being surprised by what had surprised me as well: the high performance of my naive Rust versus my (putatively less naive?) C. However, others viewed it as irresponsible to report these performance differences, believing that these…
TCP Tracepoints have arrived in Linux
Linux TCP Tracepoints, and using them via bcc/eBPF.
For a brief period, the Windows kernel tried to deal with gamma rays
Practical development throughout the evolution of Windows.
How to Analyze Billions of Records per Second on a Single Desktop PC
Introduction This article gives an overview of LocustDB [1], a new and extremely fast open-source analytics database built in Rust. Part 1 gives some background on analytical query systems and my g…
Why I'm usually unnerved when modern SSDs die on us
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…
A Rust-Based Unikernel: First Version of a Rust-Based LibOS
A Unikernel for Extreme-Scale Computing
How we spent two weeks hunting an NFS bug in the Linux kernel
Here's an in-depth recap of debugging a GitLab issue that culminated in a patch for the Linux kernel.
RHEL is deprecating KDE
By a strange coincidence the news broke this morning that RHEL is deprecating KDE. The real surprise here is that RHEL supported KDE all. Back in the 90s they were entirely against KDE and put lots of effort into our friendly rivals Gnome. It made some sense since at the time Qt was under a not-quite-free licence and…
A cache invalidation bug in Linux memory management
Posted by Jann Horn, Google Project ZeroThis blogpost describes a way to exploit a Linux kernel b...
Strace – My Favourite Secret Weapon (2011)
I’m often asked in my technical troubleshooting job to solve problems that development teams can’t solve. Usually these do not involve knowledge of API calls or syntax, rather some kind of insight into what the right tool to use is, and why and how to use it. Probably because they’re not taught in college, developers…
OpenBSD 6.4 released
OpenBSD 6.4
A Not-Called Function Can Cause a 5X Slowdown
Subtitle: Making Windows Slower Part 3: Process Destruction In the summer of 2017 I wrestled with a Windows performance problem. Process destruction was slow, serialized, and was blocking the syste…
Facebook open-sources new suite of Linux kernel components and tools
An integral part of Facebook’s engineering culture has always been our development work on open source solutions that solve real-world production issues and address key challenges in modern l…
Arguing against using protobuffers
I’ve spent a good deal of my professional life arguing against using protobuffers. They’re clearly written by amateurs, unbelievably ad-hoc, mired in gotchas, tricky to compile, and solve a problem that nobody but Google really has. If these problems of protobuffers remained quarantined in serialization abstractions…
One Windows Kernel
In this blog post, I will talk about the evolution of the core pieces of the Windows kernel that allows it to transparently scale across a low power NVidia...
Notes on structured concurrency, or: Go statement considered harmful
Every concurrency API needs a way to run code concurrently. Here's some examples of what that looks like using different APIs:
Introducing the Windows Pseudo Console (ConPty)
In this, the fourth post in the Windows Command-Line series, we'll discuss the new Windows Pseudo Console (ConPTY) infrastructure and API - why we built it, what it's for, how it works, how to use it, and more.
FoundationDB Document Layer
Today we’re open sourcing the FoundationDB Document Layer, a document-oriented database that extends the core functionality of the FoundationDB key-value store.
AV1 beats x264 and libvpx-vp9 in practical use case
Improved video compression is important for delivering digital video files more quickly and with higher quality, while using less bandwidth and storage. Everything from 4K movie streaming to smartp…
Haiku R1/beta1 has been released
After nearly 6 years since R1/alpha4, Haiku R1/beta1 has been released. See “Release Notes” for the (lengthy) release notes, “Press contact”, for press inquiries … and “Get Haiku!” to skip all that and just …
Idle Until Urgent
A few weeks ago I was looking at some of the performance metrics for my site. Specifically, I wanted to see how I was doing on our newest metric, first input delay (FID). My site is just a blog (and doesn’t run much JavaScript), so I expected to see pretty good results.