To go from the install tree to the final OCI, we:
So, that's 3x compress, 2x compress. Then we compress the layers again to get the final oci.tar.gz. Which (though it does very little actually compression) can take a long time.
More or less simple things we could do here:
With hacked up implementation of the above:
The results are suprisingly additive - I had expected that with zlib-ng, the effects of 2-4 would be minimal, but that's not the case.
Final note - for 4. - writing an 'oci.tar' is another variant - and it's even a bit faster than '.oci.tar.zstd'. skopeo recognizes that equally well to 'oci.tar.gz' and 'oci.tar.zstd'.
This is all done now. Once https://github.com/flatpak/flatpak/pull/5540 lands in Flatpak it would be good to take advantage of that to make the layer compression smaller and faster.
Metadata Update from @otaylor: - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.