Understanding C by learning assembly
The Recurse Center is a self-directed, community-driven educational retreat for programmers in New York City.
Topics /
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
The Recurse Center is a self-directed, community-driven educational retreat for programmers in New York City.
One of my tasks (as GCC maintainer of the inter-procedural optimization framework) is to make sure that it works well with real world progra...
Slack has a global customer base, with millions of simultaneously connected users at peak times. Most of the communication between users involves sending lots of tiny messages to each other. For much of Slack’s history, we’ve used HAProxy as a load balancer for all incoming traffic. Today, we’ll talk about problems we…
Note: This blog post from 2018 predates the Intel Ice Lake (Sunny Core) and AMD Zen 4 processors. These newer processors are not affected by the issues described in this blog post. Our processors typically do computations using small data stores called registers. On 64-bit processors, 64-bit registers are frequently…
Documentation and guides from the team at Fly.io.
Hamidreza Soleimani's Blog - Just about what I know
In 2005 Intel release the Pentium D, which began the era of multi-core desktop CPUs. Today, even our phones have multiple cores. Making useof all of those c...
Thread pools! How do I use them?
Almost 3.5 years ago I started the Mailinator(tm) service. I got the bulk of the idea from my drunk roommate at the time and the first incar...
While there are a decent number of folks out there modeling systems, there’s a much larger group of folks who think of themselves as systems thinkers but utilize techniques like modeling rather casually (a polite way of saying that they don’t use them). Even with modeling tools available, I’ve often taken the shortcut…
tl;dr: I make a petty point about premature optimization; don't go out and rewrite your switch statements as binary searches by hand; maybe do rewrite your jump tables as switch statements, though.
Efficient concurrent programming libraries are essential for taking advantage of fine-grained parallelism on multicore hardware. In this post, I will introduce reagents , a composable, lock-free concurrency library for expressing fine-grained parallel programs on Multicore OCaml . Reagents offer a high-level DSL for…
The hard realities of distributed systems, partial failures, network faults, and unpredictable latency, and how Amazon designs to handle them.
A summary of Linux profiling/monitoring tools
Written pieces, talks, and other bits by Zach Holman.
A dive into what x86 instruction are decoded into various processors, to determine the truth of the idea that they're just RISC-like internally.
How to have fun with the world’s most important free software project "Functional, free and secure by default", OpenBSD remains a crucial yet largely unacknowledged player in the open source field. This talk aims to highlight the project's signature security features and development practices -- razor sharp focus on…
A recent trend in our industry is the software architecture move from a monolith app to microservices, often with a related blog post explaining how much better everything is after. A recent blog post by neo-bank Monzo explains that they have reached the crazy amount of 1500 microservices (a ratio of ~10 microservices…
Welcome to the v0.10 release of the Windows Terminal! As always, you can install the Windows Terminal from the Microsoft Store or download the package
My personal website and blog
The personal blog of Thomas Steiner
A few weeks back, I was at XDC and gave a talk about various current and past input stack developments (well, a subset thereof anyway). On...
Get all of the latest cloud storage news and insights from Backblaze - the leading independent cloud storage provider.
Archiving 104K files into tar.gz reduced I/O time by 43x and total processing time by 2.3x. The bottleneck was not disk speed, it was syscall overhead.
Whenever I have a chance, I extol the virtues of message-passing and event-loops in structuring concurrent workflows in Rust. However, in…
Apps on Fly.io all get their own routable IPv4 addresses. Here's what that costs us.