Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,943 posts.
Zero-copy protobuf and ConnectRPC for Rust
As part of my work at Anthropic, I open sourced two Rust crates that fill a gap in the RPC ecosystem: buffa, a pure-Rust Protocol Buffers…
A few CPU hardware bugs
Catherine (Whitequark)’s recent observations on poorly-engineered firmware reminded me of a few mistakes I’ve seen in vendors’ CPUs; some unimportant and others surprisingly bad. Since I’ve never seen these widely discussed, here’s some discussion and links to supporting evidence to make them more widely known, since…
.NET Core Is Boiling the Ocean
Do they know what the hell they're doing?
FreeBSD 9.0-Release Announcement
The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 9.0-RELEASE. This is the first release from the stable/9 branch, which improves on stable/8 and adds many new features. Some of the highlights:
Firefox Beta for Windows 10 on Qualcomm Snapdragon Now Available
Today, we’re excited to report the availability of our ARM64-native build of Firefox for Snapdragon-powered Windows 10 Always Connected PCs in our beta release channel, a channel aimed at developers or early tech adopters to test upcoming features before they’re released to consumers.
Fix your damned data races
Nathan Froyd recently wrote about how he has been using ThreadSanitizer to find data races in Firefox, and how a number of Firefox developers — particular in the networking and JS GC teams — have been fixing these.
Intelligent Kubernetes Load Balancing at Databricks
How Databricks uses client-side load balancing to improve gRPC traffic, reduce tail latency, and handle ingress with real-time service discovery.
The ‘Backends for Frontends’ Pattern at SoundCloud
Our friends at SoundCloud embarked on a journey a few years ago that changed their system and moved it from a monolithic Rails application towards an ecosystem of microservices.
Building Burstables: CPU slicing with cgroups
Burstable VMs run on a fraction of CPU and burst to a higher level of CPU usage to support occasional usage spikes. To implement them, we leveraged Control Groups v2 (cgroups v2), a Linux kernel feature that helps manage resource usage. We thought our open-source implementation of burstable VMs might be interesting…
Principles of high-performance programs (2012)
This article is an attempt to sum up a small number of generic rules that appear to be useful rules of thumb when creating high performing programs. It is structured by first establishing some fundamental causes of performance hits followed by their extensions.
Common interface for Linux NIC statistics
In Linux 5.13 ethtool gains an interface for querying IEEE and IETF statistics. This removes the need to parse vendor specific strings in...
Playing with Kernel TLS in Linux 4.13 and Go
The 1600 LoC patch allows userspace to pass the kernel the encryption keys for an established connection, making encryption happen transparently inside the kernel.
Line-by-line memory usage of a Python program
This website is for sale! fseoane.net is your first and best source for information about fseoane. Here you will also find topics relating to issues of general interest. We hope you find what you are looking for!
How to Read 100s of Millions of Records per Second from a Single Disk
This article gives an overview of the implementation and performance of two recent additions to LocustDB, an extremely fast open-source analytics database built in Rust. The first addition is suppo…
Negative Result: Reading Kernel Memory from User Mode
I were going to write an introduction about how important negative results can be. I didn’t. I assume you can figure out for yourself why that is and if not you got all the more reason to read this blog post. If you think it’s trivial why my result is negative, you definitely need to read the blog post.
Building a Distributed Log from Scratch: Scaling Message Delivery
In part two of this series we discussed data replication within the context of a distributed log and how it relates to high availability. Next, we’ll look at what it takes to scale the log such that it can handle non-trivial workloads. Data Scalability A key part of scaling any kind of data-intensive system is the…
Sometimes CPU cores are odd
TL;DR: all the assumptions you have about processor design are wrong and if you are unlucky you will never run into problems that users do through sheer chance.
Kubernetes: Make your services faster by removing CPU limits
At Buffer, we’ve been using Kubernetes since 2016. We’ve been managing our k8s (kubernetes) cluster with kops, it has about 60 nodes (on AWS), and runs about 1500 containers. Our transition to a micro-service architecture has been full of trial and errors. Even after a few years running k8s, we are still learning its…
Postgres Postmaster does not scale
Why Postgres postmaster contention becomes a bottleneck at scale, how connection bursts and worker churn trigger it, and which fixes helped in production.