Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
Why we use the Linux kernel's TCP stack
A recent blog post posed the question Why do we use the Linux kernel's TCP stack?. It triggered a very interesting discussion on Hacker News.
FoundationDB: A distributed unbundled transactional key value store
FoundationDB: A Distributed Unbundled Transactional Key Value Store Zhou, et al., 2021
Porting third-party programs to TempleOS
Experienced professional software engineer based in York, UK
Increasing QUIC and UDP Throughput over Tailscale
Recent optimizations in Tailscale improve UDP throughput, boosting performance for QUIC, HTTP/3, and other UDP-based applications on Linux.
Who is vfmaddrnd231pd?
vfmaddrnd231pd is a unique instruction from the FMA instruction set. Most instructions in that set have mnemonics like vfmadd231pd, but here rnd means something very specific. The Intel Software Development Manual documents it as: VFMADDRND231PD – Fused Multiply-Add of Packed Double-Precision Floating-Point Values…
Don't defer Close() on writable files (2017)
It'll bite you some day
How much memory do you need to run 1M concurrent tasks?
In this blog post, I delve into the comparison of memory consumption between asynchronous and multi-threaded programming across popular languages like Rust, ...
Rethinking the D-Bus Message Bus
Later this year, on November 21, 2017, D-Bus will see its 15th birthday. An impressive age, only shy of the KDE and GNOME projects, whose collaboration inspired the creation of this independent IPC system. While still relied upon by the most recent KDE and GNOME releases, D-Bus is not free of criticism. Despite its…
FPGAs Have the Wrong Abstraction for Computing
Verilog is the de facto abstraction for programming today’s FPGAs. RTL programming is fine if you want to use FPGAs for their traditional purpose as circuit emulators, but it’s not the right thing for the new view of FPGAs as general-purpose computational accelerators.
How we sped up Notion in the browser with WASM SQLite
Notion engineers sped up Notion's browser speed with WASM SQLite
64-bit Firefox is the new default on 64-bit Windows
Users on 64-bit Windows who download Firefox can get our 64-bit version by default. That means you get a more secure version of Firefox, one that also crashes a whole lot less . How much less? In our tests so far, 64-bit Firefox reduced crashes by 39% on machines with 4GB of RAM or more.
Socket.IO C++
I'm really proud to announce the first release of the Socket.IO C++ Client on GitHub!
How Unix spell ran in 64kb RAM
How do you fit a dictionary in 64kb RAM? Unix engineers solved it with clever data structures and compression tricks. Here's the fascinating story behind it.
Ubuntu on AWS Gets Serious Performance Boost with AWS-Tuned Kernel
Canonical and Amazon Web Services have been working closely together to create the best experience of the world’s most popular cloud OS, on the world’s most popular public cloud. Official Ubuntu guest images have been available on AWS for years, and underlie the majority of workloads on the service—whether you use the…
Foundational Distributed Systems Papers
I talked about the importance of reading foundational papers last week. To followup, here is my compilation of foundational papers in the d...
GPL Violations Related to Combining ZFS and Linux
This post discusses an atypical GPL violation. Unlike most GPL violations Conservancy faces, in this case, a third-party entity holds a magic wand that can instantly resolve the situation. Oracle is the primary copyright holder of ZFS, and, despite nearly eight years (going back to the days of Sun's control of the…
The Heart of RISC-V Development Is Unmatched
Today, SiFive introduces the new HiFive platform for professional RISC-V developers, the HiFive Unmatched! The HiFive Unmatched enables developers to create the RISC-V-based software they need for RISC-V platforms. From real-time operating systems to custom Linux distributions, and the compilers, libraries, and…
Distributed SQLite: Paradigm shift or hype?
SQLite is fast, really fast. On a single ~40€ / m commodity server, it can sustain ~168,000 reads and ~8000 writes per second, concurrently. Because it's an embedded library designed for client-side applications such as embedded systems and phone & desktop applications, SQLite databases have to be co-located…
NEON is the new black: fast JPEG optimization on ARM servers
Cloudflare's jpegtran implementation was optimized for Intel CPUs. Now that we intend to integrate ARMv8 processors, new optimizations for those are required.
How a fix in Go 1.9 sped up our Gitaly service by 30x
After noticing a worrying pattern in Gitaly's performance, we uncovered an issue with fork locking affecting virtual memory size. Here's how we figured out the problem and how to fix it.
Designing an Ethernet Switch ASIC
Designing the world's first open source Ethernet switch ASIC. An unmanaged cut-through 3-port 100Mbps switch fabbed on Global Foundries 180 nm.
Faster interpreters in Go: Catching up with C++
A novel technique for implementing dynamic language interpreters in Go, applied to the Vitess SQL evaluation engine
A deep dive into Linux's new mseal syscall
If you love exploit mitigations, you may have heard of a new system call named mseal landing into the Linux kernel’s 6.10 release, providing a protection called “memory sealing.” Beyond notes from the authors, very little information about this mitigation exists. In this blog post, we’ll explain what this syscall is…
Microsoft is not rebasing Windows to Linux
The choice will not really be Windows or Linux, it will be whether you boot Hyper-V or KVM first, and Windows and Ubuntu stacks will be tuned to run well on the other.