Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 4,389 posts.
Zip Files: History, Explanation and Implementation
I have been curious about data compression and the Zip file format in particular for a long time. At some point I decided to address that by learning how it works and writing my own Zip program. The implementation turned into an exciting programming exercise; there is great pleasure to be had from creating a well…
What Makes a Graphics Systems Paper Beautiful
Addendum: I've added a few additional tips for conference papers chairs, papers committee members, and papers sorters .
Must Be This Tall to Write Multi-Threaded Code
David Baron put this up in Mozilla’s San Francisco office a while back:
Microsoft Needs Windows Lite
Microsoft is losing Builders fast. They're switching to MacOS and Linux. The biggest pull keeping people on Windows, outside of shear inertia, is content creation and gaming. However, even these are falling to Linux.
M1 Icestorm cores can still perform well
What are the penalties in real-world use for running your code on Icestorm cores, using around 10% of the power used by Firestorms?
cp: -r or -R?
A question like this recently came up again. I once tried to find an answer, but only posted it in some "forum" a decade ago, and I think it's worth saving this little bit of trivia from digital nirvana.
The Sad State of Debug Performance in C++
By now it should be (hopefully) widely known that the term “zero-cost abstractions” is a misnomer. Although, to be clear, it's more of an unfortunate name.
Why use OpenBSD?
Last week-end, I was invited to the UNIX Social Camp in Dijon, France to talk about the reasons I still use OpenBSD these days and why should others do so; or at least, have a look at OpenBSD . This post is an English transcription of the original French slides that are available here .
Removing characters from strings faster with AVX-512
In software, it is a common problem to want to remove specific characters from a string. To make the problem precise, let us consider the removal of all ASCII control characters and spaces. In practice, it means the removal of all byte values smaller or equal than 32. I covered a related problem before, the … Continue…
Fast Servers
There's a network-server programming pattern which is so popular that it's the canonical approach towards writing network servers:
Run a macOS VM on Apple Silicon from a double-click with Vimy
Making it quicker and simpler to run a macOS VM: with Vimy all you need do is double-click its bundle, and the VM runs using its previous settings.
The Error Model in Midori
Joe Duffy's Blog | Adventures in the high-tech underbelly
A buffer overflow in the XNU kernel
XNU kernel buffer overflow, introduced in macOS 14.0 and fixed in macOS 14.5.
The Hardest Tarball?
Here is a curiosity: an archive that can be constructed using a single GNU tar invocation, that is extracted in 8 distinct ways depending on what tool you use.
Throughput vs. Latency and Lock-Free vs. Wait-Free
On the previous post we showed an excellent presentation by Cliff Click, and one of the things he mentions is that there is performance for ...
Time on Unix
An article covering everything you need to know about time on Unix. Time, a word that is entangled in everything in our lives, something we're intimately familiar with. Keeping track of it is important for many activities we do.
150 MB Minimal FreeBSD Installation
Sometimes an article starts with a simple question or a single message on one of the available social platforms. This is the case today with this article where @ooberober asked: How small can the r…
Async.h – asynchronous, stackless subroutines in C
The async/await idiom is becoming increasingly popular. The first widely used language to include it was C#, and it has now spread into Jav...
SeL4 Design Principles
seL4 has been our team’s greatest achievement, but it didn’t fall out of the sky: it was the result of 15 years of research, and has evolved further for the past 10 years. From the begi…
JITs are un-ergonomic
I lift my LAMP beside the github door. Keep ancient Fortran your storied numeric libs cries she. Give me your interpreted, your slow, the wretched refuse of your (insert pun for ‘teeming shore’).
Handling 1M Requests per Minute with Go
Here at Malwarebytes we are experiencing phenomenal growth, and since I have joined the company over 1 year ago in the Silicon Valley, one my main responsibilities has been to architect and develop several systems to power a fast-growing security company and all the needed infrastructure to support a product that is…
How to make smaller C and C++ binaries
This blog post presents several techniques to make the binaries resulting from C or C++ compilation smaller with GCC (or Clang). Please note...