1. A method, comprising: accepting modulated symbols, which carry bits of a given code word of a Low Density Parity Check (LDPC) code; computing respective soft input metrics for the bits; and decoding the given code word using an LDPC decoder, by performing an interleaved sequence of internal iterations and external iterations, wherein the internal iterations estimate decoded bits and soft output metrics indicative of the decoded bits based on the soft input metrics, and wherein each external iteration updates one or more of the soft input metrics based on one or more of the soft output metrics produced by the LDPC decoder, wherein the decoding is performed by a process including: a) performing one or more internal iterations by the LDPC decoder; b) after performing the one or more internal iterations, performing an external iteration; and c) repeating acts a)-b) until the decoded bits of the one or more internal iterations are determined to be output, wherein after each external iteration, performing the one or more internal iterations comprises performing a number of internal iterations selected responsive to a predefined criterion applied to interim results of one or more recent internal iterations, wherein the LDPC decoder has bit nodes and check nodes and performs the internal iterations by passing information between the bit nodes and check nodes, and wherein the criterion depends on at least a subset of respective values of the bit nodes, measures of the check nodes or values of extrinsic information produced in one or more most recent internal iterations.