When we evaluate complexity of algorithms, we count the number of computation
steps, or of memory locations. But these costs are in arbitrary
units. For example we have no idea how long it takes on computer X to
actually execute one step of the algorithm. If you double the
computer speed, you divide the time taken by 2, independently of the
complexity formula, of the big-O complexity.
Hence this complexity is meaningful only up to a constant.
Hence, the 1/2 factor you mention is irrelevant. It is just the same
as changing the computer, or changing the time unit. If you count in
hours rather than seconds, you can get a whooping improvement factor of 3600.
But you wait just as long to get the answer.
Here I did not mention that since it is supposed to be an asymptotic estimate,
we first remove all that is asymptotically negligible
Another useful aspect of this definition of big-O is that you can
ignore in the analysis the fact that some computations steps are more
expensive than others. As long as there is a bound to the cost ratio
between steps, they can simply be all considered costing the
same. This can impact the total time only by a constant factor.
It does make complexity analysis simpler.