Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 287 posts.
ARM and Intel have different performance characteristics: a case study
In my previous post, I reviewed a new fast random number generator called wyhash. I commented that I expected it to do well on x64 processors (Intel and AMD), but not so well on ARM processors. Let us review again wyhash: uint64_t wyhash64_x; uint64_t wyhash64() { wyhash64_x += 0x60bee2bee120fc15; __uint128_t tmp; tmp…
Serverless computing: one step forward, two steps back
Serverless computing: one step forward, two steps back Hellerstein et al., CIDR’19 The biennial Conference on Innovative Data Systems Research has come round again. Today’s paper choice is su…
Exposing the Wayland lie (2018)
Hi, people of the future! Did you know that I wrote a follow-up article to this one, called “Further Thoughts on Wayland”? This original article was written in a more combative tone tha…
A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux (1999)
If you're a programmer who's become fed up with software bloat, then may you find herein the perfect antidote.
Implementing WebGPU in Gecko
As WebGPU specification is approaching a usable shape, we are working on prototype implementations in both Gecko and Servo. If you ever wondered about what i...
Building a 64-bit aarch64 kernel and userspace for the Raspberry Pi 4
I’ve recently been tinkering around with using a Raspberry Pi as a desktop computer. The Pi 4 is fairly powerful; very sufficient for web browsing, audio, video, and terminal use for programming.
Avoiding Instruction Cache Misses
Excessive instruction cache misses are the kind of a performance problem that's going to appear only in larger codebases. In this article, I'm describing some ideas on how to deal with this issue.
Bits on the Wire
Exactly 100% of everything on the Internet involves exchanging messages which represent items of interest to humans. These items can be classified into three baskets: One for “media” (images, sound, video), one for text (HTML, PDF, XML), and one for “objects” (chat messages, payments, love poems, order statuses). This…
Distributed consensus revised
Distributed consensus revised Howard, PhD thesis Welcome back to a new term of The Morning Paper! To kick things off, I’m going to start by taking a look at Dr Howard’s PhD thesis, ‘Distributed con…
Native image lazy-loading for the web
In this post, we’ll look at the new loading attribute which brings native <img> and <iframe> lazy-loading to the web!. For the curious, here’s a ...
Mac: Keyboard Shortcuts Killed by Bug
Want to use App Shortcuts in Mojave? You’re out of luck because its broken, and Apple can’t be bothered to fix it.
Mispredicted branches can multiply your running times
Modern processors are superscalar, meaning that they can execute many instructions at once. For example, some processors can retire four or six instructions per cycle. Furthermore, many of these processors can initiate instructions out-of-order: they can start working on instructions that appear much later in the…
A fast alternative to the modulo reduction (2016)
Suppose you want to pick an integer at random in a set of N elements. Your computer has functions to generate random 32-bit integers, how do you transform such numbers into indexes no larger than N? Suppose you have a hash table with a capacity N. Again, you need to transform your hash values (typically 32-bit ……
SweRV – An Annotated Deep Dive of the SweRV RISC-V Core
Every 6 months, the RISC-V consortium organizes a two day workshop where various companies and research entities present work that is one way or the other related to RISC-V.
The AWS EC2 Windows Secret Sauce
AWS EC2 Secret sauce. How AWS provisions Windows EC2 in the cloud. Instance Pool.
Why Ice Lake is Important – a bit-basher’s perspective
With Computex, there’s been a ton of news about Ice Lake (hereafter ICL) and the Sunny Cove core (SNC). Wikichip, Extremetech and Anandtech among many others have coverage (and there will be …
Learning SIMD with Rust by Finding Planets (2018)
How to get the most of Rust while keeping your code portable
Modern Text Rendering with Linux
Introduction
Rethinking Files
In Unix, everything is a file. This is often viewed as a positive, but it's often a poor abstraction for many things. This discussion goes into some of the issues.
FatELF: Universal Binaries for Linux (2015)
FatELF is a file format that embeds multiple ELF binaries for different architectures into one file. This is the Linux equivalent of what Mac OS X calls "Universal Binaries."
Making the obvious code fast (2016)
Jonathan Blow of “The Witness” fame likes to talk about just typing the obvious code first. Usually it will turnout to be fast enough. If it doesn’t, you c...
Instructions per cycle: AMD Zen 2 versus Intel
The performance of a processor is determined by several factors. For example, processors with a higher frequency tend to do more work per unit of time. Physics makes it difficult to produce processors that have higher frequency. Modern processors can execute many instructions per cycle. Thus a 3.4GHz processor has 3.4…
AirPods Pro Page Performance
foobartel Ltd. - Web Design & Development
The PDP-7 Where Unix Began
Serial Number of First Unix System In preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC fo...
Mu: A minimal hobbyist computing stack
Over the past year I've been working on a minimal-dependency hobbyist computing stack (everything above the processor) called Mu . The goal is to:
Cache tables
Hash tables are the most popular probabilistic data structure, by quite a margin. You compute some hash code then compute an array index from that hash code. If you’re using open addressing-c…