In computational complexity theory, the linear speedup theorem for Turing machines states that given any real c > 0 and any k-tape Turing machine solving a problem in time f(n), there is another k-tape machine that solves the same problem in time at most f(n)/c + 2n + 3, where k > 1. If the original machine is non-deterministic, then the new machine is also non-deterministic. The constants 2 and 3 in 2n + 3 can be lowered, for example, to n + 2.
The theorem also holds for Turing machines with 1-way, read-only input tape and k ≥ 1 {\displaystyle k\geq 1} work tapes.
For single-tape Turing machines, linear speedup holds for machines with execution time at least n 2 {\displaystyle n^{2}} . It provably does not hold for machines with time t ( n ) ∈ Ω ( n log n ) ∩ o ( n 2 ) {\displaystyle t(n)\in \Omega (n\log n)\cap o(n^{2})} .