-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
💡 Have lzma backend respect -p# option #133
Comments
A way out seems to be simple. By default, if Currently, in
If control->threads > 1 (i.e. @Darkyere , how does this sound? |
@Darkyere See whats-next branch to compile updates for --nobemt option. Remember, the rzip preprocessor holds one thread so there will always be one more thread used than requested. |
@Darkyere , it should be noted that disabling multi threading in lzma will result in slower compression. Also, lower compression. Here are some stats: Using
|
I am very happy you actually wanna try and implement a way to controll the threads. I am a bit in doubt if it is proberly implemented yet. I tried a few experiements and couldten understand that with both -p4 and -p5 it created 4 threads every time. I then tried making a command as following I thought i would check the part that worked before in the old lrzip where i would just compress a tar file. And it also created 4 threads with the command I of course have no clue what is going on. Just thought i should post my findings. |
It's probably in the `open_stream_out()` function. A lot of chunk sizing goes on there. Threads and chunk sizes are both manipulated. It's a whole new method from lrzip. Again, it would be better if you just used lrzip-next on a file.
…On August 15, 2023 1:42:51 PM CDT, Darkyere ***@***.***> wrote:
I am very happy you actually wanna try and implement a way to controll the threads.
Even if it will cost compression time and size in the end.
I am a bit in doubt if it is proberly implemented yet.
I tried a few experiements and couldten understand that with both -p4 and -p5 it created 4 threads every time.
I then tried making a command as following `lrzip-next -L9 -p2 --nobemt`.
But it seemed to spawn 4 threads, evern though it should have created 3 where one should have been for rzip.
![2023-08-15 (2)](https://github.com/pete4abw/lrzip-next/assets/23291749/aabe9755-d8da-4ef9-bbcd-29d78a2c5e9b)
I thought i would check the part that worked before in the old lrzip where i would just compress a tar file.
Or more precisly a normal vzdump with no compression.
Since for some reason tar refuses to accept the stdout from vzdump.
And it also created 4 threads with the command `lrzip-next -L9 -p2 --nobemt`
![2023-08-15 (3)](https://github.com/pete4abw/lrzip-next/assets/23291749/82bb5e88-449b-4db1-948a-a153f8d2c214)
I of course have no clue what is going on. Just thought i should post my findings.
--
Reply to this email directly or view it on GitHub:
#133 (comment)
You are receiving this because you were assigned.
Message ID: ***@***.***>
|
@Darkyere , I ran the program and cannot duplicate your issue. Run with
Show this output and maybe I can help. NO PIPE. |
I tried starting over and do a new attempt. I then ran the command with -vv and this is the output of its settings.
Here it seems like respecting the threads and using the "No Backend Multi Threading" which i suppose is because of --nobemt Now i am a bit curius of something. Because of the extra output. If this is not the case. Just throwing out some ideas to better understand whats going on. Best regards, |
@Darkyere If you examine the tree entries for |
lrzip-next Version
lrzip-next version 0.12.0
Feature Suggestion
When limiting threads in
lrzip-next
with the-p
option, more threads are used than requested. Have lzma backend respect threads requested.Steps to reproduce
lrzip-next -p4 file
Viewing system usage all CPU cores and threads are in use.
Relevant log output
Please provide system details
OS Distro: Debian
Kernel Version (uname -a): 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-2
System ram (free -h): $ free -h
total used free shared buff/cache available
Mem: 15Gi 7.3Gi 4.5Gi 4.8Gi 8.9Gi 8.1Gi
Swap: 15Gi 1.2Gi 14Gi
Additional Context
As originally reported by @Darkyere as Issue 247.
For
lrzip-next
and lzma SDK 23.01, the solution is to disable the Multi Threading Match Finder using the compiler define-DZ7_ST
. This will restrict lzma to use one thread to compress/decompress. Other backends may or may not perform as expected since we use external libraries. ZPAQ does not have this issue.The text was updated successfully, but these errors were encountered: