A dynamic partial order reduction (DPOR) algorithm is optimal when it always explores at most one representative per Mazurkiewicz trace. Existing literature suggests that the reduction obtained by the non-optimal, state-of-the-art Source-DPOR (SDPOR) algorithm is comparable to optimal DPOR. We show the first program 4 with O(n) Mazurkiewicz traces where SDPOR explores O(2 n ) redundant schedules. We furthermore identify the cause of this blow-up as an NP-hard problem. Our main contribution is a new approach, called Quasi-Optimal POR, that can arbitrarily approximate an optimal exploration using a provided constant k. We present an implementation of our method in a new tool called Dpu using specialised data structures. Experiments with Dpu, including Debian packages, show that optimality is achieved with low values of k, outperforming state-of-the-art tools.if a ∈ enabl (s) and s a − → s , then a ∈ enabl (s) iff a ∈ enabl (s ); and if a, a ∈ enabl (s), then there is a state s such that s a.a −−→ s and s a .a −−→ s .