Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 423 posts.
Write a toy strace and gdb
Being able to peek into a process is a very helpful thing when we want to fully understand how a program behaves.
How to allocate memory
Many programmers use malloc() and free() and pay no more mind to "allocating memory", but I often find 2-20× speed improvements by rethinking memory usage, so it is something I usually want to examine when joining a distressed project.
Hotpatching a C Function on x86
In this post I’m going to do a silly, but interesting, exercise that should never be done in any program that actually matters. I’m going write a program that changes one of its function definitions while it’s actively running and using that function. Unlike last time , this won’t involve shared libraries, but it will…
You Can't Always Hash Pointers in C
Occasionally I’ve needed to key a hash table with C pointers. I don’t care about the contents of the object itself — especially if it might change — just its pointer identity. For example, suppose I’m using null-terminated strings as keys and I know these strings will always be interned in a common table. These…
RethinkDB 2.1.5 performance and scalability
This report describes a recent effort that the RethinkDB team took to measure our database product, RethinkDB, under different workloads and in different clustering configurations. We seek to provide a general overview of RethinkDB’s performance metrics for a variety of workloads and potential use cases. In this…
Qubes OS 3.1 has been released
I’m happy to announce that today we’re releasing Qubes OS 3.1! The major new architectural feature of this release has been the introduction of the Qubes Management infrastructure, which is based on the popular Salt management software. In Qubes 3.1, this management stack makes it possi...
Fedora/RISC-V reaches initial goal
Ha ha only joking. However when we started out on building Fedora on the free RISC-V architecture, the goal we decided on was to get every package in the Fedora @Core group built. I’m happy t…
Fall cleaning: Optimizing V8 memory consumption
The V8 team analyzed and significantly reduced the memory footprint of several websites that were identified as representative of modern web development patterns.
A bug story: data alignment on x86
This sounds unusual. Who ever wants to do this in real life? Normally, we only see code like this as primary school assignments or compiler benchmarks. However, this time it happened in real life.
Building an OpenBSD Router
The Ultimate OpenBSD Router
Introduction to strace
There will come a time when you will find yourself asking “What the heck is that process doing?”. To uncover the mysteries behind the behaviour of a process, we have a tool called strace .
Dragon: A distributed graph query engine
Visit the post for more.
A Unix Utility to Know About: lsof (2009)
This is the third post in the article series about Unix and Linux utilities that you should know about. In this post I will take you through the useful lsof tool. If netcat was called the Swiss Army Knife of Network Connections, then I'd call lsof the Swiss Army Knife of Unix debugging. Lsof follows Unix philosophy...
Systems Past: software innovations we actually use (2014)
Note: This is a position piece, not a technical article. Hat tip to Jake Skelcy for requesting such a piece. Computers didn’t always have operating …
Things I Hate About PostgreSQL (2013)
PostgreSQL Talk
Visualising the .NET Garbage Collector
As part of an ongoing attempt to learn more about how a real-life Garbage Collector (GC) works (see part 1) and after being inspired by Julia Evans’ excellent post gzip + poetry = awesome I spent a some time writing a tool to enable a live visualisation of the .NET GC in action.
Kraken: 3x faster decompression than zlib
RAD Game Tools' web page. RAD makes Bink Video, the Telemetry Performance Visualization System, and Oodle Data Compression - all popular video game middleware.