Topics /

Systems & Performance

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

Any year
1716

When static makes your C code 10 times faster

Addendum : Many Hacker News commenters correctly point out that the right way to indicate to the compiler that a value does not change is const . This post is not about C best practices, but just about how one can easily get to the bottom of this kind of surprising behavior by looking at the compiler output. This…

1717

How quickly can you remove spaces from a string?

Sometimes programmers want to prune out characters from a string of characters. For example, maybe you want to remove all line-ending characters from a piece of text. Let me consider the problem where I want to remove all spaces (' ') and linefeed characters ('\n' and '\r'). How would you do it efficiently? size_t…

1722

A Unix Utility You Should Know About: Pipe Viewer

Hi all! I'm starting a new article series here. This one is going to be about Unix utilities that you should know about. The articles will discuss one Unix program at a time. I'll try to write a good introduction to the tool and give as many examples as I can think of. The first post in this series is going to be…

1724

Let's Build an MP3 Decoder

Even though MP3 is probably the single most well known file format and codec on Earth, it’s not very well understood by most programmers – for many encoders/decoders is in the class of software “other people” write, like standard libraries or operating system kernels. This article will attempt to demystify the…

1725

Writing a RISC-V OS in Rust: System Calls

System calls are a way for unprivileged, user applications to request services from the kernel. In the RISC-V architecture, we invoke the call using the ecall instruction. This will cause the CPU to halt what it's doing, elevate privilege modes, and then jump to whatever function handler is stored in the mtvec…

1729

Some Reasons to Measure

A question I get asked with some frequency is: why bother measuring X, why not build something instead? More bluntly, in a recent conversation with a newsletter author, his comment on some future measurement projects I wanted to do (in the same vein as other projects like keyboard vs. mouse , keyboard , terminal and…

1737

Tokio and Prctl = Nasty Bug

Recently I encountered a bug so cute that I immediately knew that I will want to share it on my blog. It was one of those bugs that even Rust can’t save you from. It occurred in HyperQueue (HQ), a distributed task scheduler written in Rust that I work on.