1. A method for decoding encoded markup-language structured data from a bit-stream comprising a plurality of encoded data units comprising: obtaining unit information comprising positions of the encoded data units within the bit-stream; retrieving the encoded data units from the bit-stream, based on the unit information; creating decoding tasks for decoding the retrieved encoded data units; assigning the created decoding tasks to cores of a multi-core decoder in decreasing order of the estimated decoding costs, of the encoded data units, the estimated costs of an encoded data unit being an estimate of at least one of a number of entries or bytes composing the encoded data unit and a decoding time to decode the encoded data unit; running the tasks on their assigned cores to decode the encoded data units in parallel; and obtaining the markup-language structured data from decoded data units; an indexing table including entries that associate indexing references with respective decoded values, a new entry being added to the indexing table upon literally decoding an encoded value of an encoded data unit by associating an indexing reference with the literally decoded value; decoding an encoded data unit comprises resolving indexing references of the encoded data unit with entries of an indexing table to obtain decoded values associated with the indexing references in the indexing table and not resolving at least one indexing reference of the encoded data unit because the indexing reference is not vet available in the indexing table at the time it is subject to solving and becomes available in the indexing table by the decoding of another encoded data unit, and wherein the method further comprises, after decoding the encoded data units, post-processing the encoded data units to resolve unresolved indexing references, said resolving using the indexing references made available in the indexing table by the decoding of another unresolved during the decoding of the encoded data units.