Blogs / Personal blogs

Daniel Lemire

lemire.me

Daniel Lemire is a software performance expert. He ranks among the top 2% of scientists globally (Stanford/Elsevier 2025) and is one of GitHub's top 1000 most followed developers.

Popular posts
87
Total points
15,569
HN comments
9,499
Rank
#41 personal

Visit lemire.me → RSS feedOn Hacker News May 2014 – Sep 2026

Software Engineering 47Systems & Performance 40Math & Algorithms 14Hardware & Electronics 14Society, Policy & Culture 12Tech Industry & Business 8

32

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 ……

35

Implementing ‘strlen’ using SVE

In C, the length of a string in marked by a 0 byte at the end of the string. Thus to determine the length of the string, one must scan it, looking for the 0 byte. Recent ARM processors have a powerful instruction set (SVE) that is well suited for such problems. It allows you … Continue reading Implementing ‘strlen’…

36

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…

39

ARM MacBook vs. Intel MacBook

Up to yesterday, my laptop was a large 15-inch MacBook Pro. It contains an Intel Kaby Lake processor (3.8 GHz). I just got a brand-new 13-inch 2020 MacBook Pro with Apple's M1 ARM chip (3.2 GHz). How do they compare? I like precise data points. Recently, I have been busy benchmarking number parsing routines where you…