Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 533 posts.
Initial Impressions of WSL 2
Soon the Windows May 2020 Update (20H1) will be released upon the world. This update will contain some nice UI improvements, but most relevant to me it allows Web Developers on Windows to upgrade to WSL 2. This is a significant milestone in the #davegoeswindows saga and it’s worth posting about what it means going…
The Cost of JavaScript Frameworks
Tim Kadlec writes about performance, product management, and the web.
Why does musl make my Rust code so slow?
Software engineer specializing in query engines and distributed systems
ListenBrainz moves to TimescaleDB
The ListenBrainz team has been working hard on moving our primary listen store from InfluxDB to TimescaleDB , and today at UTC 16:00 we’re going to make the switch.
Reflections on Software Performance
At this point in my career, I’ve worked on at least three projects where performance was a defining characteristic: Livegrep, Taktician, and Sorbet (I discussed sorbet in particular last time, and livegrep in an earlier post). I’ve also done a lot of other performance work on the tools I use, some of which ended up on…
Guide to Linux System Calls (2016)
This complete guide explains all about Linux system calls with sample codes and results.
Notes on Paxos
These are my notes after learning the Paxos algorithm. The primary goal here is to sharpen my own understanding of the algorithm, but maybe someone will find this explanation of Paxos useful! This post assumes fluency with mathematical notation.
In Praise of ZFS on Linux's ZED 'ZFS Event Daemon'
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
An Introduction to Lock-Free Programming (2012)
Lock-free programming is a challenge, not just because of the complexity of the task itself, but because of how difficult it can be to penetrate the subject in the first place. I …
Which is better on Android: divide by 2 or shift by 1?
I've been porting the AndroidX collection library to Kotlin multiplatform to experiment with binary compatibility, performance, tooling, and the different memory models. Some of the data structures in the library use array-based binary trees to store elements. The Java code has a lot of shifts to replace power-of-two…
Microsoft: No Driver Updates Allowed for Win7 and Win8
Microsoft has announced that it is ending the ability to cross-sign drivers, effective 1 July 2021. This will effectively make it impossible to release new or updated drivers for Windows 7, Windows…
On the Performance of User-Mode Threads and Coroutines
Discussions of coroutines and user-mode threads — like Project Loom's virtual threads or Go's goroutines — frequently turn to the subject of performance. The question I'll try answering here is, how do user-mode threads offer better application performance than OS threads?
A Concurrency Cost Hierarchy
Concurrent operations can be grouped relatively neatly into categories based on their cost
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…
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.
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’).