← Back to context

Comment by pjmlp

1 month ago

Yes, just like early optimising compilers eventually got their heuristics.

Many still haven't understood that dynamic compilers, and machine learning based optimisations are equally not deterministic, which is why benchmarks are hard to implement properly.

Hell, the internal complexities of scheduling/branch-prediction etc inside the processor may strictly be defined as "deterministic" but in reality cannot be fully kept in the head of a software engineer at this point, too.

It's been a long time since I've worked on a machine I could describe as "understandable."

Aside: One of the niceties of using agentic LLMs to do optimization work is letting them do the drudgery of creating a pile of microbenchmarks for different scenarios (scalar popcount on a this-shaped vector, or SIMD on another? which wins? sometimes the answer is surprising!). I've built all sorts of bespoke tools / harnesses for forcing them to evaluate their findings empirically, and it's amazing what can be done that would take me weeks by hand.