Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
Systemd through the eyes of a musl distribution maintainer
Welcome back to FOSS Fridays! This week, I’m covering a real pickle. I’m acutely aware of the flames this blog post will inspire, but I feel it is important to write nevertheless. I volunteer my ti…
Why use old computers and operating systems?
On this blog, I write about the various computers I use and about the operating systems I use on them. Apart from Windows 7, which is relatively modern, these include Mac OS 10.6 Snow Leopard, which at this point is quite old, and Mac OS 9, which is practically ancient. I’d like to talk a bit about why I use such old…
APFS changes in Big Sur: how Time Machine backs up to APFS
APFS adds 6 volume roles, including one which supports Time Machine backups. And per-file encryption is coming.
JIT Compiling Code in 5μs
Build a copy-and-patch JIT compiler in Rust, generate ARM64 machine code, and benchmark it against an interpreter and handwritten implementation.
Zig’s Io.Threaded is neat
std.Io.Threaded is one of the implementations of Zig's new Io interface that enables concurrency. This is a boring just use threads impl. I personally find it neat though --- it does this weird thing that I wanted to do for ages, that to my knowledge no one else is doing properly, and implements it better than I…
Meta quickly detects silent data corruptions at scale
Silent data corruptions (SDCs), data errors that go undetected by the larger system, are a widespread problem for large-scale infrastructure systems. Left undetected, these types of corruptions can…
Scipio: A Thread-per-Core Crate for Rust and Linux
Glommio (pronounced glom-io or |glomjəʊ|) is a cooperative thread-per-core crate for Rust & Linux based on io_uring. It allows you to write asynchronous code that takes advantage of rust async/await, but it doesn’t use helper threads anywhere.
8 Bits Are Enough for a Version Number
As was pointed out to us stable kernel maintainers last week, the overflow of the .y release number was going to happen soon, and our proposed …
The Sisyphean Task of DNS Client Config on Linux
The covers a brief history of DNS on Linux systems and what steps Tailscale is taking to ensure it is configured consistently.
Index, Count, Offset, Size
Wherein we make progress towards solving one of the most vexing problems of Computer Science — naming things.
Power of small optimizations
In this post, I will talk about the importance of small optimizations that can provide a lot of performance improvements.
Parsing JSON faster with Intel AVX-512
Many recent Intel processors benefit from a new family of instructions called AVX-512. These instructions operate over wide registers (up to 512 bits) and follow the Single instruction, multiple data (SIMD) paradigm. These new AVX-512 instructions allow you to break some speed records, such as decoding base64 data at…
Available on Google Cloud: Intel Optane DC Persistent Memory
In-memory workloads continue to be the backbone of innovative data management use cases, but as demand increases, so does the need for even larger memory capacity. In July, we announced a partnership with Intel and SAP to offer GCP virtual machines supporting Intel® Optane DC™ persistent memory for SAP workloads. This…
Lessons we learned when debugging a scaling problem
Get a closer look at how we investigated errors originating from scheduled jobs, and how we stumbled upon "the tyranny of the clock."
GCC eBPF for Linux port has landed
This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project .
Auto Recovery for Amazon EC2
An important rule when building a highly available and highly reliable system is to design for failure. In other words, your design model should assume that, as Amazon CTO Werner Vogels has said, “everything fails all the time.” Fortunately, modern data centers, networks, and servers are highly reliable, and failures…
WASI Support in Go
Go 1.21 adds a new port targeting the WASI preview 1 syscall API
An Intel Programmer Jumps over Wall: First Impressions of ARM SIMD Programming
(the pictured dish is apparently materials for “Buddha Jumps Over The Wall”, named for its ability to seduce away vegetarians – sadly it uses shark fin so has some ethical issues&…
DragonFly BSD 4.8 released
DragonFly version 4.8 brings EFI boot support in the installer, further speed improvements in the kernel, a new NVMe driver, a new eMMC driver, and Intel video driver updates.
Goliath: Non-blocking, Ruby 1.9 Web Server
There are easily half a dozen of factors you need to consider when picking an app server: the choice of the VM, implementation model, performance and memory usage, driver and library availability, community support, and so forth. In other words, it is a complex set of requirements, and no one solution is likely to…
How Is Data Stored?
Invariably, it involves trying to trap electrons in increasingly complicated ways.
On lists, cache, algorithms, and microarchitecture
Lists are rather hardware-unfriendly data structure. However, having a closer look at why is that and what can be done to improve this can provide an interesting insight into how high-level algorithms performance is affected by the processor microarchitecture.
Jepsen: RethinkDB 2.2.3 reconfiguration
In the previous Jepsen analysis of RethinkDB , we tested single-document reads, writes, and conditional writes, under network partitions and process pauses. RethinkDB did not exhibit any nonlinearizable histories in those tests. However, testing with more aggressive failure modes, on both 2.1.5 and 2.2.3, has…
Consistent Hashing
Bluehost - Top rated web hosting provider - Free 1 click installs For blogs, shopping carts, and more. Get a free domain name, real NON-outsourced 24/7 support, and superior speed. web hosting provider php hosting cheap web hosting, Web hosting, domain names, front page hosting, email hosting. We offer affordable…
Profiling Go
Techniques and tools for profiling Go applications including pprof, benchmarks, and memory management analysis.
Avoid exception throwing in performance-sensitive code
There are various ways in software to handle error conditions. In C or Go, one returns error code. Other programming languages like C++ or Java prefer to throw exceptions. One benefit of using exceptions is that it keeps your code mostly clean since the error-handling code is often separate. It is debatable whether…
Low-level is easy
My previous entry has the amazingly interesting title "Blogging is hard". Gee, what a wuss, says the occasional passer-by. Gotta fix my image, fast. Think, think, think! OK, here's what I'm going to tell you: low-level programming is easy. Compared to higher-level programming, that is. I'm serious.