Topics /

Systems & Performance

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

Any year
906

Text showdown: Gap Buffers vs. Ropes

I have been working on a hobby project to reimagine the C core of Emacs in Rust. On this journey, I reached the point where I needed some way to represent the text of a buffer. The simplest approach is to just use a large string or array of lines. However these each suffer from poor performance as either the size or…

910

I wrote a GameBoy emulator for my hobby OS (2022)

The Nintendo GameBoy is an exceptionally well-documented system, perfect for anybody who’d like to take a crack at emulation. Publicly-maintained resources like the Pan Docs make it both approachable and convenient to get an overview of the GameBoy’s address space layout, to understand the mechanics of hardware…

912

Rules of optimization

Rules of optimization: 1) Design for performance from day 1 2) Profile often 3) Be vigilant on performance regressions 4) Understand the data 5) Understand the HW 6) Help the compiler 7) Verify your assumptions Performance is everyone's responsibility https://t.co/CwwJffnHGz

913

Every Byte Matters

I have spent a large portion of my career working in Java. In that time, you get used to huge classes. New functionality? Just add a new method and field to the class. The cost of each new field is rarely considered. Performance is often considered from a classic computer science perspective by considering asymptotic…

915

Io_uring is not an event system

I’ve been hearing about io_uring on and off for the last couple of years. Its a relatively new technology in Linux to allow high-performance IO with very few overheads. Whenever its been mentioned, its usually been presented as a new alternative to select, poll and epoll. This led me to believe that it was just the…

919

Firefox's Optimized Zip Format

This post is about minimizing amount of disk IO and CPU overhead when reading Zip files. I recently saw an article about a new format that was faster than zip. This is quite surprising as to my mind, zip is one of the most flexible and low-overhead formats I’ve encountered. Some googling showed me that over past 11…

922

FreeBSD Jails for Fun and Profit (2020)

Docker has recently stormed into software development. While its concepts are powerful and valuable, similar tools have been used in systems for decades. FreeBSD’s jails in one of those tools which build upon even older chroot(2). To put it shortly, with these tools, you can make a safe environment separated from the…

923

Mail Data Loss in macOS 10.15

I’m working on more posts about the Catalina release, but I wanted to start with a short warning. I’ve heard a bunch of reports of data loss in Apple Mail. Thankfully, none seem to be caused by my apps . (Ironically, one of the bugs I’ve encountered is the inability to delete messages via AppleScript.) And, in fact…

928

Why is Python slow

In case you missed it, Marius recently wrote a post on the Pyston blog about our baseline JIT tier. Our baseline JIT sits between our interpreter tier and our LLVM JIT tier, providing better speed…