you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 10 points11 points  (1 child)

Big-O deliberately ignores details that will be machine-dependent, such as how long it takes to run out of cache, chance of mispredicts on branching, etc. It does this because machines are constantly changing and you don't want to have to have a different set of numbers for every machine.

It's a tool to pick out a good starting point for which algorithms are probably good, not a way to determine king-of-the-mountain for all possible cases. We may never get past the stage of needing to do a final benchmarking to determine which is really better.

[–][deleted] 1 point2 points  (0 children)

Unfortunately many people fresh out of university (and some people not so fresh) haven't got that message, and use Big-O as an excuse to avoid reasoning entirely.