Could someone familiar with LOLZ parameters help me with some questions?
How is actual memory usage calculated using for multi thread used An X value for dictionary (-d)?
Considering that the supported values for dictionary are from 0 to 2047 "-d[0..2047]): 64m". If you enter a value above 2047 (such as 2050) will the default value be set to the dictionary (64m) or will the maximum value (2047m) be used?
I need this information because I created presets for LOLZ in DiskSpan GUI.
The memory and thread information will be obtained when starting the DiskSpan GUI and then starting the compression will be calculated based on the threads and RAM of the system.
It will also be informed the number of system theads replaced <thread> by the number of virtual cores (threads) of the current CPU during the conversion.
So one more question arises...
In the lolz documentation it states that the supported values are 1 to 16 thread: "mt threads(-mt[1..16]): 1"
If using a Ryzen processor 9, 5900x is 24 threads, so if you use -mt24, lolz will set it to 1 (default) or to 16 (Maximum supported).
Below is the example where it will be in LOLZ presets in DiskSpan GUI.
Code:
LOLZ_HIGH = lolz:dtb1:d<expr:0.65*memory/(thread+1)/1048576>m:mtt1:mt<thread>:mc1023
Expression example: <expr:0.65*memory/(thread+1)/1048576>
0.65 = percentage of calcule (65%)
memory = full system memory (RAM)
thread = number of logical cores
core = number of Physical cores
1048576 = convert result in bytes to mb
If someone can help me with these questions, I would appreciate it!