Currently, the implementation of ArchiveEntryDataReader::seek uses an approach where, when seeking inside a block, it creates a zero-filled buffer and reads bytes to advance the underlying reader to the correct offset inside the block. This leads to unnecessary CPU and memory overhead, especially for large offsets.
It could be replaced with a seek but this needs thorough testing (e.g. in an EntryBlock).