Daniel Lemire's blog
The cost of a function call
Converting data to hexadecimal outputs quickly
Converting floats to strings quickly
Optimizing Python scripts with AI
A new way to call C from Java: how fast is it?
How stagnant is CPU technology?
What I Got Wrong About “Hard Work” in My 20s
A bit of glass and freedom is all you need
Technology is culture
The culture war that we won
By how much does your memory allocator overallocate?
Freedom from incompetence
Don’t be so eager to rewrite your code
Parsing IP addresses quickly (portably, without SIMD magic)
Performance trick : optimistic vs pessimistic checks
JSON-complete data formats and programming languages
Multiplying the Shuffle Speed in Go with Batched Shuffling
Why speed matters
We see something that works, and then we understand it
Why don’t we get more scientific breakthroughs?
How fast can browsers process base64 data?
Antifragile Programming and Why AI Won’t Steal Your Job
How good are Chinese CPUs? Benchmarking the Loongson 3A6000
AMD vs. Intel: a Unicode benchmark
Automated Equality Checks in C++ with Reflection (C++26)
As smart as a PhD
Flame Graphs in Go
Thinking Clearly
Speeding up C++ functions with a thread_local cache
Research results are cultural artifacts, not public goods
Speed of random number generators in Go
Aesthetics matter
std::ranges may not deliver the performance that you expect
Beyond papers: rethinking science in the era of artificial intelligence
The smallest number that is infinite
Hard work is a virtue
Splitting a long string in lines efficiently
Processors are getting wider
Debugging C++ with Visual Studio Code under macOS
Predictable memory accesses are much faster
Why do we even need SIMD instructions ?
Innovation starts with consumers, not academia
Rebels on campus
Dot product on misaligned data
Why measuring productivity is hard
Memory-level parallelism :: Apple M2 vs Apple M4
Just say no to broken JSON
Base64 for compression
From code reuse to the impact of generative AI
Discover C++26’s compile-time reflection
Life expectancy of men in Canadian provinces
Don’t argue: build
Metcalfe’s Law against Brooks’ Law
Let us bury the linear model of innovation
Fast character classification with z3
Is the job market for software developers collapsing?
Models and science
Dividing an array into fair sized chunks
Returning several values from a function in C++ (C++23 edition)
Producing useful commands on the go using C++ and AI
C++20 concepts for nicer compiler errors
Streamlined iteration: exploring keys and values in C++20
Detect control characters, quotes and backslashes efficiently using ‘SWAR’
How can really smart people appear totally incompetent?
How helpful is AI?
Faster shuffling in Go with batching
Mixing ARM NEON with SVE code for fun and profit
Unsigned comparisons using signed types
Speeding up C++ code with template lambdas
An overview of parallel programming (Go edition)
How fast can you open 1000 files?
AVX-512 gotcha: avoid compressing words to memory with AMD Zen 4 processors
Thread-safe memory copy