Written by David Miličević
on November 23, 2025
Bytes before FLOPS: your algorithm is (mostly) fine, your data isn't
A small, but deep dive into performance and data-oriented optimization.
Foreword
So, earlier this year I did a presentation at a cool(get it?) little Norwegian company called Airthings.
It was a two-parter. First part was how the compilation pipeline works - from ASCII to assembly, greatly simplified of course. It was from an old presentation I did many years ago. The second part is the interesting. It's about performance and what are some of the low-hanging fruits that you can pick off to speed up stuff as much as possible.
Now, that part actually takes a while, but in short it's basically a distillation of my experience working on compilers, assembly and writing vectorized code. The gist of it is - data.
It occurred to me that a small summary would make a good blog post. There's plenty of material on data-oriented design and performance, but this might be a nice overview.
I'll style it as a written representation of how I approach optimization.
... continue reading