🏹 Where do we stand?

You have implemented a full Zstandard decoder, even capable of verifying the integrity of uncompressed data.

Of course, you might want to optimize your code, for example:

  • Each frame is independently encoded and can be decoded in parallel.
  • Literal sections and sequences decoding can progress simultaneously, while producing the decoded data. This will reduce the number of bytes to be processed.
  • Outputting data as decoding progresses would allow starting emitting data sooner.

But more importantly, your decoder must be made robust. This is what the next section is for.