The desirable scaling property of an algorithm is that when input size doubles, the algorithm slows down by at most a constant factor . An algorithm is poly-time if this property holds.

More rigorously, the property requires that there exist constants and such that, for every input size , the running time of the algorithm has an upper bound of primitive operations. By this definition, we can choose .