Big-O Is About Growth, Not Speed
Complexity analysis describes how resource usage grows as input grows; it does not predict the exact runtime of one machine.
The starting point
Big-O notation is often reduced to a ranking of algorithms, but its real value is more precise. It gives us a way to reason about how an algorithm's resource requirements scale with input size. An O(n) algorithm is not automatically faster than an O(n log n) algorithm for every small input, and an O(1) operation is not automatically the most important optimization in a program. Complexity is about growth.
Ask what grows with the input
If an algorithm scans every element once, its work grows roughly in proportion to the number of elements. If it repeatedly divides the search space, the number of steps grows much more slowly. The notation abstracts away machine-specific constants so we can compare growth patterns.
That abstraction is useful precisely because hardware changes. A benchmark measured on one laptop is evidence about one environment. Complexity gives us a more general statement about the algorithm itself.
Complexity does not prove correctness
An incorrect O(1) algorithm is still incorrect. An O(n squared) brute-force solution can be valuable because it establishes a baseline and makes the problem easier to understand. Optimization should follow correctness rather than replace it.
The same principle applies outside DSA. A highly optimized query that returns the wrong records is not a performance success. Engineering decisions need correctness, resource use, and real requirements considered together.


OPEN
Thoughts on the article.