Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 1,232 posts.
A jump into the middle of an instruction from nowhere (2023)
Another rogue patcher.
Why is my tcp not reliable? (2009)
This post is about an obscure corner of TCP network programming, a corner where almost everybody doesn’t quite get what is going on. I used to think I understood it, but found out last week that I didn’t.
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.
A Story Of realloc (And Laziness)
A Story Of realloc (And Laziness) 05 April 2014 A Simple Macro It...
Stream VByte: breaking new speed records for integer compression
In many information systems, we work with arrays of integers. For example, maybe you need to keep track of which records in a database contain a given value. This sort of mapping can be expressed as an array of integers. These arrays can end up taking up a large fraction of your memory or disk … Continue reading…
A crash course in just-in-time compilers (2017)
This is the second part in a series on WebAssembly and what makes it fast. If you haven’t read the others, we recommend starting from the beginning. JavaScript started out ...
Jepsen: Crate 0.54.9 version divergence
In the last Jepsen analysis, we saw that RethinkDB 2.2.3 could encounter spectacular failure modes due to cluster reconfiguration during a partition. In this analysis, we’ll talk about Crate, and find out just how many versions a row’s version identifies.
Quoting command line arguments the wrong way (2011)
Access to this page requires authorization. You can try signing in or changing directories .
A Tribute to VMware Workstation, Fusion, and Hosted UI
Updated February 2, 2016: Once you learn about our team and who we are, come take a trip down memory lane with us! Yesterday morning, the Hosted UI team, responsible for VMware’s Workstation …
Firefox nightly is now built with clang LTO on all platforms
You might have read that Mozilla recently switched Windows builds to clang-cl . More recently, those Windows builds have seen both PGO (Profile-Guided Optimization) and LTO (Link-Time Optimization) enabled .
Box86/Box64 vs. QEMU vs. FEX (Vs Rosetta2)
Comparing performances I decided to compare the performances of the OpenSource Linux Userspace Emulator that allows you to run x86/x86_64 apps on ARM linux. There are QEMU-user, FEX-emu and Box86/Box64. How to bench Linux userspace emulator Test will consist of the bench I already used a couple of time, and that can…
Io_submit and Linux AIO – An epoll alternative
The Linux AIO is designed for, well, Asynchronous disk IO! They are not network sockets, but is it possible to use Linux AIO API with network sockets? The answer is a strong YES!
Considering performance in the small is not “premature optimization”
DISCLAIMER : The following are my own personal opinions and are not shared, sanctioned or endorsed by anybody in particular, especially my employer. Any criticisms expressed herein are of a general nature and are neither inspired by nor directed at any person, entity, or product in particular. Links to other online…
CockroachDB's Consistency Model
CockroachDB's consistency model fits somewhere between serializability and linerarizability. We're proposing a new marketing phrase for CRDB's guarantees: no stale reads.
Why Intel is adding instructions to speed up non-volatile memory
The latest version of the Intel manual has a couple of new instructions for non-volatile storage, like SSDs . What's that about?
Reading bits in far too many ways
Resurrecting an old tradition of this blog, let’s take a simple problem, go over a way too long list of alternative solutions, and evaluate their merits. Our simple problem is this: we want t…
Improving compression with a preset DEFLATE dictionary
A few years ago Google made a proposal for a new HTTP compression method, called SDCH (SanDwiCH). The idea behind the method is to create a dictionary of long strings that appear throughout many pages of the same domain (or popular search results).
Prefix sum on portable compute shaders
This is a followup to my previous post, prefix sum on Vulkan. Last year, I got a fancy algorithm for this problem running well on one device. This time, I will dive into the question of how to make it work well across a wide range of devices. The short answer is, it can be made to work pretty portably on Vulkan and…
SpacetimeDB: a short technical review
This blog post has been archived! SpacetimeDB has improved a lot since I initially published this technical review, and most of the technical details in it no longer apply.
Dissecting the gzip format (2011)
In this article I describe the DEFLATE algorithm that GZIP implements and depends on. The DEFLATE algorithm uses a combination of LZ77, Huffman codes and run-length-encoding; this article describes each in detail by walking through an example and developing source code to implement the algorithm. My aim is to…
Static Executables with SBCL v2
It's taken me much longer than I hoped, but I finally have a second version of my patches to build static executables tested and ready to go! This set of patches vastly improves upon the first by reducing the amount of compilation needed at the cost of sacrificing a little purity. Additionally I have created a system…
Valkey achieved one million RPS 6 months after forking from Redis
Maximize the performance of your hardware with memory access amortization