Hacker News new | ask | show | jobs
by scott_s 5142 days ago
I agree with everything you said, except the parenthetical. I have difficulty considering matrix multiplication an "edge case," and I think that it's more common than you imply for us to choose algorithms with a higher asymptotic bound because of constant factors and architectural effects (mostly caching).
1 comments

Ok, agreed about matrix multiplication and probably a few other problems, disagreeing about cache.

You cannot really say that cache-aware algorithms have higher asymptotic bound. Some of them might happen to have below-optimal asymptotic bound in a cache-unaware memory model, which sort of misses the point of the algorithms being aware of cache.

You cannot really say that cache-aware algorithms have higher asymptotic bound.

Don't worry, I'm not. I'm saying that sometimes, naive algorithms have better cache behavior than more complicated algorithms with lower asymptotic bounds.