Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 4,387 posts.
AVX Bitwise ternary logic instruction busted
How a modern AVX instruction shares a similar design with a 1985 blitter chip, by Arnaud Carré
Writing a debugger from scratch: Breakpoints
(New to this series? Consider starting from part 1) At the end of the last post, we started to get some interesting functionality with the ability to resolve addresses to names in a module. This was the last functionality missing before we could implement breakpoints! This part adds the ability for DbgRs to set…
Beware of Fast-Math
One of my more frequent rants, both online and in person, is the danger posed by the "fast-math" compiler flag. While these rants may elicit resigned acknowledgment from those who already understand the dangers involved, they do little to help those who don't. So given the remarkable paucity of writing on the topic…
Patching GCC to build Actually Portable Executables
Gautham's Blog
The journey of an internet packet: Exploring networks with traceroute
This article explains the mechanics behind traceroute, from IP headers and TTL fields to ICMP messages. Learn why traceroute is a crucial tool for network diagnostics, how it differs from ping, and how to interpret its output. Ideal for network administrators, IT professionals, and curious users looking to understand…
How does rsync work?
This post is the third article in a series of blog posts about rsync, see the Series Overview. With rsync up and running, it’s time to take a peek under the hood of rsync to better understand how it works. How does rsync work? When talking about the rsync protocol, we need to distinguish between:
Python performance: it’s not just the interpreter
I have a particular view of Python performance from my experience on the Pyston project, and since this view is somewhat nonstandard I wanted to take some time to explain it and give a motivating e…
GC progress from JDK 8 to JDK 17
JDK 17 has been out for a few months and it’s not just packed with new language features. The performance boost compared to older JDK versions is also really significant. It becomes especially clear when compared to the previous LTS releases, JDK 8 and JDK 11. Much of the improved performance comes from new features…
Block the “Upgrade to Tahoe” alerts
Although I have to have a machine running macOS Tahoe to support our customers, I personally don't like the look of Liquid Glass, nor do I like some of the functional changes Apple has made in macOS Tahoe.
The terminal of the future
To redesign infrastructure, you have to allow incremental adoption, while simultaneously moving the whole design space at once.
A 100x speedup with unsafe Python
We're going to speed up some numpy code by 100x using "unsafe Python." Which is not quite the same as unsafe Rust, but it's a bit similar, and I'm not sure what else to call it... you'll see. It's not something you'd use in most Python code, but it's handy on occasion, and I think it shows "the nature of Python” from…
A Real Life Off-by-One Error
The Championnats d’Europe d’Escalade (climbing) in Villars-sur-Ollon has just finished. I couldn’t make it to all the events, but did see the finals of the “Speed” event. It’s a series of head-to-head elimination races up a 15m tall wall, resulting in an eventual victor after enough rounds.
Software Architecture Patterns: 5 minute read
Main software architecture patterns in a nutshell.
Follow up to “I booted Linux 293k times”
Well that blew up. It was supposed to be just a silly off-the-cuff comment about how some bugs are very tedious to bisect. To answer a few questions people had, here’s what actually happened.…
RISC-V Is Sloooow
143 vs 36 minutes is far too big difference
The tar archive format, and why GNU tar extracts in quadratic time
Date: 2022-07-23 Git: https://gitlab.com/mort96/blog/blob/published/content/00000-home/00014-tar.md
How to Analyze Billions of Records per Second on a Single Desktop PC
Introduction This article gives an overview of LocustDB [1], a new and extremely fast open-source analytics database built in Rust. Part 1 gives some background on analytical query systems and my g…
Nanosecond timestamp collisions are common
I was wondering: how often do nanosecond timestamps collide on modern systems? The answer is: very often, like 5% of all samples, when reading the clock on all 4 physical cores at the same time. As a result, I think it is unsafe to assume that a raw nanosecond timestamp is a unique identifier.
Xfce is great
A post from David Gerard reminded me why I still use Xfce almost everywhere.
How to build software like an SRE
I’ve been doing this “reliability” stuff for a little while now (~5 years), at companies ranging from about 20 developers to over 2,000. I’ve always cared primarily about the software elements I describe as living “outside” the application – like, how does it get its configuration? What kinds of instances does it run…