How do I enable multi-threaded LZMA2 using 7-zip 9.20 on the command line?

51,591

Solution 1

Try -m0=lzma2

"C:\Program Files\7-Zip\7z.exe" a -m0=lzma2 -r -y XMLBackup.zip *.xml

more info

Solution 2

The help file says it's mt=number_of_threads

I know this is specifically about the command line, but one thing I can say about when using the GUI, as soon as you switch to LMZA2 you got all the options. And it DOES speed up compression a great deal, utilizing the full 100% of your CPU's power rather than the usual 25%.

Solution 3

7z a -txz -mx=9 -mmt=on out.tar.xz in.tar

-txz uses XZ (LZMA2)

-mx=9 sets the compression level (1 fastest / 9 best compression)

-mmt=on LZMA2 only supports up to 2 threads (either -mmt=on or -mmt=off) but multithreading is on by default

https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm#XZ

Solution 4

The multithreading mode is given in a -m flag, and it's apparently only implemented for zip, 7z, bzip2 and xz. More specifically, -mmt=<<# of threads>>. However, according to the documentation, it is enabled by default. See the CHM manual included with 7-zip for more information.

Share:
51,591

Related videos on Youtube

Olivier.Roger
Author by

Olivier.Roger

I always pay it forward. I ask questions so I can learn and I try to help others.

Updated on September 18, 2022

Comments

  • Olivier.Roger
    Olivier.Roger over 1 year

    How do I enable multi-threaded LZMA2 using 7-zip 9.20 on the command line? I know this is normally done with the -t option like so: "-tzip" .

    How do I do this with LZMA2? I tried -tlzma and -tlzma2 and neither one works. I also tried not passing -t at all, and it just runs single threaded with "lzma" mode.

    Here is the command I currently have, but it is slow, and single threaded:

    "C:\Program Files\7-Zip\7z.exe" a -r -tzip -y XMLBackup.zip *.xml
    
  • Olivier.Roger
    Olivier.Roger about 12 years
    I tried it and didn't notice any apparent speed increase. I am not entirely convinced it works.
  • Jessidhia
    Jessidhia about 12 years
    How many physical cores is windows seeing in your computer? You can tell whether multithreading is being used by CPU usage; it's possible that you're already seeing the best speed and turning multithreading off just makes it even slower.
  • Olivier.Roger
    Olivier.Roger about 12 years
    I already thought of that. I opened 7-zip (version 9.20) and I looked at what it "detected" as the number of cores. That is the number I used.
  • Kibbee
    Kibbee over 11 years
    This combined with -mmt=x did the trick for me. It seems that if lzma2 is not specified that it uses the older lzma compression and therefore can't use multiple threads. If you specify both options, it will be able to use multithreading.
  • Cand3r
    Cand3r almost 8 years
    This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether. Given the answers on this question, this is more of a comment.
  • 0xC0000022L
    0xC0000022L over 3 years
    Somehow that statement about up to two threads doesn't really seem to concern 7z or it's outdated information. At least in my case 7z was topping as many CPU cores as I told it to use threads when the machine was otherwise idle.