The surface code is designed to suppress errors in quantum computing hardware and currently offers the most believable pathway to large-scale quantum computation. The surface code requires a 2-D array of nearest-neighbor coupled qubits that are capable of implementing a universal set of gates with error rates below approximately 1%, requirements compatible with experimental reality. Consequently, a number of authors are attempting to squeeze additional performance out of the surface code. We describe an optimal complexity error suppression algorithm, parallelizable to O(1) given constant computing resources per unit area, and provide evidence that this algorithm exploits correlations in the error models of each gate in an asymptotically optimal manner.