Topics /

Systems & Performance

The most popular blog posts about systems & performance on Hacker News. 4,387 posts.

Any year
1173

PostgreSQL query performance bottlenecks

PostgreSQL query planner is full of surprises, so a common-sense approach to writing performant queries is sometimes misleading. In this blog post, I'll describe examples of optimizing seemingly obvious queries with the help of EXPLAIN ANALYZE and Postgres metadata analysis.

1175

Why bother with argv[0]?

The first argument of a program’s command line, typically reflecting the program’s name/path and often referred to as argv[0], can in most cases be set to an arbitrary value without affecting the process’ flow. Making the case against argv[0], this post demonstrates how it can be used to deceive security analysts…

1180

Making Rust binaries smaller by default

Have you ever tried to compile a helloworld Rust program in --release mode? If yes, have you seen its binary size? Suffice to say, it’s not exactly small. Or at least it wasn’t small until recently. This post details how I found about the issue and my attempt to fix it in Cargo.

1181

The compositor is evil

First, I want to make it clear that I’m not accusing the compositor of true evil, which I define roughly as deliberately causing suffering. There’s unfortunately too much of that in the world. I mean it in the more metaphorical sense that it causes serious problems and forces other parts of the system to be more…

1188

The Performance Impact of C++'s `final` Keyword

If you're writing C++, there's a good reason (maybe...) as to why you are. And probably, that reason is performance. So often when reading about the language you'll find all sorts of " performance tips and tricks " or " do this instead because it's more efficient ". Sometimes you get a good explanation as to why you…

1189

Game servers: UDP vs TCP

When writing networked games, the question of UDP vs TCP will eventually come up. Typically you will hear people say things like: “Unless you’re doing action games, you can use TCP&#822…

1192

A Requiem for a Dying Operating System (1994)

These views generally result in my being labeled a Luddite by the Unix priesthood. But Ned Ludd was right --- the new machines did not make conditions better for ordinary working folk: the people whose conditions were immediately improved were those who owned the machinery, and whose profits thereby increased…

1193

A dream of an ultimate OS (1995)

A vision of an OS that recognizes that any user activity and most of the system activities are nothing but queries, which ought to be treated uniformly and implemented efficiently once and for all; database as a file system; A paper submitted to MacHack'95

1194

Against Essential and Accidental Complexity

In the classic 1986 essay, No Silver Bullet , Fred Brooks argued that there is, in some sense, not that much that can be done to improve programmer productivity. His line of reasoning is that programming tasks contain a core of essential/conceptual 1 complexity that's fundamentally not amenable to attack by any…

1199

Reclaiming IPv4 Class E's 240.0.0.0/4

Ever since the supply of fresh IPv4 address blocks was depleted there has been a number of interesting market changes, mostly around the costs to either acquire or lease IPv4 address blocks. Since the demand for IPv4 addressing has not changed that much, prices have gone up, and more providers like AWS, Hetzner, OVH…