Perhaps an additional constant for FreeArc that specifies the number of CPU threads?
So, some tools allow you to specify thread count as a percentage (such as XTool)
However, some tools read from a static integer in arc.ini or cls.ini. This leaves us with the inability to tailor an installation to each user to use their full system (further in this post I have added an explanation of the LZMA archiver locked at 4 threads despite my system having 16).
I would like to suggest a new constant called {threads}, similar to how {compressor} and {option}. FreeArc can read this and substitute {threads} with however many CPU threads you have.
An existing example of this in action is the windows constant "%NUMBER_OF_PROCESSORS%" which if you echo it in command line will return the number of CPU threads in the system. I use this for when I use MTP or MParallel.
Further detailing this, I can use the open source LZMA archiver from the LZMA SDK as an example of how {threads} would work. Here is the normal unpack command for the LZMA archiver:
Code:
[External compressor:LZMA]
header = 0
unpackcmd = {compressor} d -mt4 -si -so <stdin> <stdout>
However, with our constant:
Code:
[External compressor:LZMA]
header = 0
unpackcmd = {compressor} d -mt{threads} -si -so <stdin> <stdout>
And because FreeArc handles the constant, it just replaces {threads} with however many threads you have and uses that as the unpack command passed to the EXE file.