Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,943 posts.
How ZFS continues to be better than Btrfs.
ZFS keeps winning over btrfs on many fronts. Here's a short list that explains exactly how.
20 years of Linux on the Desktop (part 4)
20 years of Linux on the Desktop (part 4) par Ploum - Lionel Dricot.
Clojure builds as an amalgamation of orthogonal parts
The Clojure Core team recently released a new Clojure library, tools.build , that is a culmination of thought around batteries-included build support for Clojure projects. I won’t go into detail around the history and contents of the library in this post because much of that is found elsewhere, including the…
The x86 architecture is the weirdo (2004)
So unlike all the others, yet people think it's the normal one.
GNU grep is 10x faster than Mac grep
That's likely all you need to do to install and make default GNU grep, which on my machine is a ~10x speedup over the grep that ships with Mac OS.
C++20: Building a Thread-Pool with Coroutines
Recently I’ve been rambling about the amazing improvements which will land with C++20 support in our toolchains. For those who haven’t had a look at those yet, I recommend checking out the summary in the following recent blog post: C++20: An Introduction. The Update We’ve All Been Waiting For? .
We Built a Streaming SQL Engine
A streaming SQL engine keeps queries’ results up to date without ever having to recalculate them, even as the underlying data changes. To explain this, imagine a simple query, such as SELECT count(*) FROM humans
Inline Assembly Dangers
Resolving PS2SDK Soft Reset Issues
Introducing Qubes 1.0 ("a stable and reasonably secure desktop OS")
After nearly three years of work, I have a pleasure to announce that Qubes 1.0 has finally been released! To see the installation instructio...
Escape analysis hates copy elision (2021)
Yesterday Lauri Vasama showed me this awesome Godbolt: struct S { static std::unique_ptr<S> make() noexcept; ~S(); static std::unique_ptr<S> factory() { std::unique_ptr<S> s = S::make(); return M(s); } }; void take_ownership(S*) noexcept; void test() { std::unique_ptr<S> p = S::factory()…
Floating point oddity
Code that shows how floating point arithmetic can go wrong, and how C and C++ can return different results for similar code.
A Reverse Engineer's Anatomy of the macOS Boot Chain and Security Architecture
1.0 The Silicon Root of Trust: Pre-Boot & Hardware Primitives The security of the macOS platform on Apple Silicon is not defined by the kernel; it is d...
Gracefully Restarting a Go Program Without Downtime
This post discusses approaches to gracefully restart a Go application with a working sample, useful for developers and SREs who build services written in Go.
Inside Pascal: Nvidia 's Newest Computing Platform
At the 2016 GPU Technology Conference in San Jose, NVIDIA CEO Jen-Hsun Huang announced the new NVIDIA Tesla P100, the most advanced accelerator ever built. Based on the new NVIDIA Pascal GP100 GPU and…
The Unscalable, Deadlock-Prone, Thread Pool
Paul Khuong's personal blog. Some Lisp, some optimisation, mathematical or computer.
AI’s compute fragmentation: what matrix multiplication teaches us
AI is powered by a virtuous circle of data, algorithms (“models”), and compute. Growth in one pushes needs in the others and can grossly affect the developer experience on aspects like usability and performance. Today, we have more data and more AI model research than ever before, but compute isn’t scaling at the same…
PyPy: Transactional Memory (II)
Here is an update about the previous blog post about the Global Interpreter Lock (GIL). In 5 months, the point of view changed quite a bit...
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 .
Lakebase architecture delivers faster Postgres writes
How Lakebase's storage architecture pushes down full page write generation to cut WAL traffic by 94% and boost Postgres write throughput by up to 5x.
Storing Data in Control Flow
A decision that arises over and over when designing concurrent programs is whether to represent program state in control flow or as data. This post is about what that decision means and how to approach it. Done well, taking program state stored in data and storing it instead in control flow can make programs much…
Qubes OS 3.2 has been released
I’m happy to announce that today we’re releasing Qubes OS 3.2! This is an incremental improvement over the 3.1 version that we released earlier this year. A lot of work went into making this release more polished, more stable and easier to use than our previous releases. One major featu...
Beautiful Native Libraries
A guide on writing beautiful native libraries in C or C++ that compile to native code.
Hunting Performance in Python Code: Measuring Memory Consumption
In this post I will talk about some tools that can help us solve a painful problem in Python, especially when using PyPy: memory consumption. Why are we concerned with this in the first place? Why …
What if we could see all concurrency bugs in the debugger?
A paper on debugging non-deterministic concurrency issues interactively.