4 ms·
I don’t think it’s really possible to give a precise mathematical definition of "good enough for my use case." In practical software engineering, what is gener
by didibus 1y ago
I don’t think it’s really possible to give a precise mathematical definition of "good enough for my use case."
In practical software engineering, what is generally cared about is having a reasonable worst case upper bound. They don’t necessarily need the absolutely tightest bound, so you don’t need to spend extra effort chasing that. At the same time, they want to avoid bounds that are so loose they don’t give meaningful information.
That means the "upper bound" being asked for isn’t just about pure math. It requires applying practical judgment to the context we’re working in and the concerns we’re trying to address.
So yes, I’m asking for BigO, but with some flexibility. If you can provide the tightest bound, that’s great. If you can provide a tight enough bound that isn’t misleadingly loose, that also works.
A mathematician might cringe at words like "tight enough" and that’s fair. There’s no rigorous definition for it. But in the practical world where engineers are solving problems and users are paying for solutions, sometimes we need to rely on best judgment to land on a definition that serves the use case.
Because that's the prevalent need, BigO almost always implies the above in those context.
- monkeyelite 1y ago> I don’t think it’s really possible to give a precise mathematical definition Have you studied math in an academic setting? The book “Art of Computer Programming” is all about formal definitions for understanding performance behavior. > They don’t necessarily need the absolutely tightest bound, Which is why I mention that big oh represents sets. But you dismissed that.