How to make 7-Zip faster
If you get the 7-Zip 9.13 beta you can change the archive type to LZMA2 and thus be able to use as many threads as you like, though the memory usage goes up phenomenally.
Install the beta, right click the stuff you want to archive then under the 7-Zip contect menu click "Add to archive..." and you will get something similar to the window below. On the left hand side under Compression Method you should find "LZMA2" which will allow you to change the number of threads which will be an option a bit further down.
This has the potential of vastly increasing performance on >2 core processors as it can be better tuned to your system, and the normal compression method can only handle 2 threads maximum.
The "/1" you see to the right of the number of threads selection box in the image is the number of processors in your system and thus the recommended number of threads. My i7 is a quad core processor but has hyperthreading (which does actually help here btw) so it shows as "/8"
As each thread seems to compress multiple files at the same time, the best thing you can do to increase performance of very large zip jobs is to set threads to 1, to be sure that your hard drive will seek one file at a time.
We improve performance on all our daily zip-backup procedures by adding -mmt=off
to 7-zip command line. Our backup of the "visual SVN repository", which is made from multiple small files, was taking between 50 and 60 minutes.
With -mmt=off
, we now always do in in less than five minutes! And, during these 50 minutes, all our servers were very slow because of the hard drives seeking. Now, everything remains very fast during those five minutes.
For everything you do on a machine, the hard drive activity will always be slower than your CPU capacity. You can increase disk performance by disabling parallel activities and making sure that the hard drive reads (and write) your files one by one serially.
Also it's better to read from disk1 and write your ZIP to disk2, as the physical head does not move from read to write.
Sample line to get maximum ZIP speed while keeping your machine performance:
start "" /wait /belownormal c:\Progra~1\7-Zip\7z.exe a -tzip -mx=1 -mmt=off t:\backup.zip d:\folderToBackup\*
D:
and T:
are 2 different physical disks