Thank you for your thoughts.

Let's first summarize what tricks are done for `xz`:
https://github.com/rpm-software-management/rpm/blob/28b3704034a9c772959485a130b918f414da9796/rpmio/rpmio.c#L811-L859

- the compression supports `%{_xz_memlimit}` limit
- for 32-bit it calculates how much memory will be used based on 
`lzma_stream_encoder_mt_memusage`

The logic seems to me very complex :) and I'm curious if it counts with a fact 
that multiple `rpm` files are compressed in parallel?
`zstd` does have a similar function for memory usage, but not available for 
multi-threaded mode:
https://github.com/facebook/zstd/issues/2232

I see the biggest challenge in the concurrent runs. About the 32-bit targets: 
from SUSE perspective we don't case much as we can happily use non-threaded 
mode for them. 


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1324#issuecomment-667101083
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to