Big O Notation reliability? Is Big-O notation always reliable?
For example:
Algorithm A: $n * 10^{100} = \mathcal{O}\left(n\right)$
Algorithm B: $n^{1.001} = \mathcal{O}\left(n^{1.001}\right)$ 
According to Big-$\mathcal{O}$ notation, Algorithm $A$ would be more efficient, yet for all practical purposes Algorithm $B$ is more efficient. In a situation like this, wouldn't Big-O notation fail? Is there a way to avoid such problems?

The concept involves "when $n$  is large". The antidote to your problem involves noticing that "large enough to be 'large'" varies between contexts (sometimes 2 is large enough). It looks like your context is too small to be "large" ... and this always needs checking.
