/Performance

Optimizing A Bignum Library For Fun

- Austin Henley tl;dr: I'm down a rabbit hole of learning how bignums work. In this post, I improve how the numbers are stored, implement a faster multiplication algorithm, and benchmark the time improvements.

featured in #533


How Stripe’s Document Databases Supported 99.999% Uptime With Zero-Downtime Data Migrations

- Jimmy Morzaria Suraj Narkhede tl;dr: “In 2023, Stripe processed $1 trillion in total payments volume, all while maintaining an uptime of 99.999%. We obsess over reliability. As engineers on the database infrastructure team, we provide a database-as-a-service (DBaaS) called DocDB as a foundation layer for our APIs.” The authors discuss Stripe’s database infrastructure, and discuss the design and application of the Data Movement Platform.

featured in #521


Cache Locality, Your Sneaky Performance Culprit

- Dr. Panos Patros tl;dr: When you know you’ve written efficient code but performance is still laggy, the answer might lie in cache locality. Go into the nitty-gritty of how data is accessed, how to optimize memory usage, and perhaps how to get some major speed gains. Explore not only how but also why these techniques can be critical to responsiveness and efficiency.

featured in #519


Improving Shopify App’s Performance

- Talha Naqvi tl;dr: “At the beginning of 2023, we noticed that our app's performance had decreased since we started migrating to React Native. Recognizing this, we embarked on a dedicated journey to improve the app's performance by the end of the year... In this blog post, we’re sharing how we did it and hope others use it as inspiration to make their apps faster.”

featured in #515


How Web Bloat Impacts Users With Slow Devices

- Dan Luu tl;dr: “Modern pages that burn a ton of CPU when loading could be doing pre-work that means that later interactions on the page are faster and cheaper than on the pages that do less up-front work, but that's not the case for pages tested, which are slower to load initially, slower on subsequent loads, and slower after they've loaded.”

featured in #500


Behind The Draw - How Canva's Drawing Tool Works

- Alex Gemberg tl;dr: An exploration into the evolution of Canva's drawing tool, highlighting technical challenges to improve application performance and user satisfaction. Alex discusses efforts in optimizing SVG paths, implementing state machines, and introducing native implementations for mobile platforms. 

featured in #497


The World's Smallest PNG

- Evan Hahn tl;dr: This post describes this file in more detail and tries to explain how PNGs work along the way. The smallest PNG file has four sections: (1) The PNG signature, the same for every PNG: 8 bytes. (2) The image’s metadata, which includes its dimensions: 25 bytes. (3) The image’s pixel data: 22 bytes. (4) An “end of image” marker: 12 bytes.  

featured in #477


4 Billion If Statements

- Andreas Karlsson tl;dr: "So I went to work to explore this idea of checking if a number is odd or even by only using comparisons to see how well it works in a real world scenario. Since I’m a great believer in performant code I decided to implement this in the C programming language as it’s by far the fastest language on the planet to this day..."

featured in #476


Getting Started With Web Performance

- Alistair Shepherd tl;dr: "We’ll be diving into the river of load times and exploring what web performance is, why it’s important, how to measure it and finally my click-baity “Ten Wild Web Performance Tips! You’ll be saving number 5 for later!”. If you already know your CLS’ from your FCPs, lab from field data, and are well familiar with Lighthouses (not the ones with big lights) then you can jump straight to the tips."

featured in #476


Building A Faster Hash Table For High Performance SQL Joins

- Andrei Pechkurov tl;dr: Andrei delves into QuestDB’s unique hash table, FastMap, designed to enhance SQL execution for JOIN and GROUP BY operations. FastMap employs open addressing and linear probing, optimized for high performance in database environments. It supports variable-size keys and fixed-size values, facilitating efficient data handling and updates. Notably, FastMap operates off-heap, reducing garbage collection pressure to improve performance.

featured in #475