https://bugs.kde.org/show_bug.cgi?id=503364
Azhar Momin <azhar-mo...@outlook.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |azhar-mo...@outlook.com --- Comment #3 from Azhar Momin <azhar-mo...@outlook.com> --- I think K7Zip extracts the whole archive up front because 7z uses solid compression (https://en.wikipedia.org/wiki/Solid_compression#Costs) i.e, multiple files can be packed into a single compressed block (or "folder"), so to get one file, you often need to decompress the entire block it’s in. This makes lazy loading a bit tricky. That said, the 7z format does support splitting archives into smaller solid blocks. So in theory, K7zip could be smarter: instead of extracting everything in open(), it could defer that and just decompress the relevant block when K7ZipFileEntry::data() is called. I’d actually be interested in trying to implement something like that, if only the 7z format had proper official documentation. A simpler option though might be to add API like K7Zip::setFlags(K7ZIP_DO_NOT_DECOMPRESS) or something, so users can choose whether they want just the entry list or full data up front. That would help apps avoid the big memory hit just for listing files. -- You are receiving this mail because: You are watching all bug changes.