An efficient implementation of the semi-implicit discontinuous Galerkin method for compressible flow simulation