Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 555 posts.
Upstream Linux support available for Qualcomm Snapdragon 8 Gen 3 Mobile Platform
Effortless upstream Linux integration, powerful performance optimization, running AOSP with Mainline and last but not least continued collaboration
How many CPU cores can you use in parallel?
Figuring out how much parallelism your program can use is surprisingly tricky.
When can two TCP sockets share a local address?
If I navigate to https://blog.cloudflare.com/, my browser will connect to a remote TCP address from the local IP address assigned to my machine, and a randomly chosen local TCP port. What happens if I then decide to head to another site?
FaaS in Go with WASM, WASI and Rust
This post is best described as a technology demonstration; it melds together web servers, plugins, WebAssembly, Go, Rust and ABIs. Here's what it shows:
Systems design 2: What we hope we know
Someone asked if I could write about the rise of AI and Large Language Models (LLMs) and what I think that means for the future of people, t...
Operating on a minimal two-core Postgres instance: Query optimization insights
In an era where the costs for cloud services continue to soar, I want to outline how our data team has successfully managed to run the infrastructure of our energy trading company within the first year using only two PostgreSQL database instances - each equipped with just two CPU cores and four GB of RAM. Despite this…
Localization Failure: Temperature Is Hard
The Guardian is one of my favorite news sources. I’m a subscriber (support news organizations!) and I read it daily. But it is not immune to errors, as this headline shows:68 °F above average is a …
I replaced grub with systemd-boot
To be able to investigate and work on the the measured boot features I have switched from grub to systemd-boot (sd-boot).
Surpassing 10Gb/S over Tailscale
Discover how Tailscale achieved over 10Gb/s throughput on Linux using advanced UDP segmentation and checksum optimizations. Explore benchmarks, results, and the innovations powering wireguard go's latest performance leap.
Put an io_uring on it – Exploiting the Linux Kernel (2022)
Put an io_uring on it - Exploiting the Linux Kernel - chompie at the bits
Unpacking Elixir: Observability
Elixir supports the usual supects of observability. Open Telemetry (OTel), log handlers, capturing metrics. And it does it well. This post will mostly focus on the observability you have on the BEAM that is either incredibly rare to see elsewhere or possibly entirely unique.
Ruby 3.3's YJIT Runs Shopify's Production Code 15% Faster
Ruby 3.2 YJIT has optimized the production workloads of Shopify and other companies. We encourage you to enable YJIT in production. Once Ruby 3.3 is released, it should make your application even faster.
How do you know when macOS detects and remediates malware?
macOS may alert you when you’re trying to open or run a file, with an alert informing you that malware was detected. But what about in scans?
Huge pages are a good idea
Nearly all programs are written to access virtual memory addresses, which the CPU must translate to physical addresses. These translations are usually fast because the mappings are cached in the CPU's Translation Lookaside Buffer (TLB) . Unfortunately, virtual memory on x86 has used a 4 kiB page size since the 386 was…
The Inner Workings of Distributed Databases
Comparison of replication options of time-series databases.
Unix shells are generally not viable access control mechanisms any more
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…
PostgreSQL 14 Internals
I’m excited to announce that the translation of the “ PostgreSQL 14 Internals ” book is finally complete thanks to the amazing work of Liudmila Mantrova. The final part of the book considers each of the index types in great detail. It explains and demonstrates how access methods, operator classes, and data types work…
Back-end parallelism in the Rust compiler
This post describes some performance work I have been doing recently on rustc. I spent several weeks on a particular problem with only a small amount of success. I hope a write-up will be interesting and educational, and may even lead to suggestions that make things better. The post is aimed at readers with some…
Pictures of a working garbage collector
C++, a "Reality sandwich", and an Octopus.
More optimizations in the compiler and JIT
The official home of the Erlang Programming Language
Philosophy of Coroutines
I encountered the idea as a student, when I first read The Art of Computer Programming . I’d been programming already for most of my childhood, and I was completely blown away by the idea, which was entirely new to me. In fact, it’s probably not an exaggeration to say that in the whole of TAOCP that was the single…
32 MiB Working Sets on a 64 GiB machine
Memory is a relatively scarce resource on many consumer computers, so a feature to limit how much memory a process uses seems like a good idea, and Microsoft did indeed implement such a feature. Ho…
Windows NT 3.1 on Dec Alpha AXP
As I was preparing the Windows NT RISC exhibit for VCF west , I realized that I’m missing a rather important piece of the history. While I was showing the potentially last DEC Alpha Windows build ever – AXP64 2210 , I don’t have anything earlier than NT 3.51. It would be nice to showcase the very first RTM version …
How does iCloud work? Plus a new version of Cirrus
Differences between CloudKit and iCloud Drive, what each does, and how it works. New version of Cirrus to test and check iCloud function.
Not knowing the /proc file system
Overview Edit: this post was discussed on hacker news Some of the comments contained valuable reviews of the C code listed below. I’ve appended some edits after the original listing. I’ve been working quite with files and file systems on Linux recently. Mostly from the vantage point of either a shell or a python…