How come only 2 threads can be enabled in 7-zip, even though i have 8 available (Core i7 with HT enabled). Any specific reason for such limit or just a glitch? I'm using 7zip 4.65 on Vista x64 with 6GB of RAM.
Try it http://www.koma-code.de/index.php?option=com_content&task=view&id=88&Itemid=93
That doesn't really help me. I'm talking about this:
Image explains everything. It's showing that 8 threads are available but i can only select up to 2.
On a quad core processor with HT (8 threads effective).
(in 7zip 4.65)
I am having the same problem. The combobox only has 1 and 2 as the option. The label next to it shows "/ 8" which I understand means eight threads are detected.
lzma1 doesn't support using of more than 2 threads. you can use lzma2 with 8 threads altough compresiion wo;; be somewhat less
Further about the CPU usage on a multi cores CPU machine. If comparess a large file and monitor the CPU core usage, it will find out that each CPU core will get a turn to be busy, that is, the two compression threads will be allocated to different core from time to time. In a quard core machine, it will lower the reported CPU usage.
This kind of allocation will slower the compression process, in particully for the AMD Quard Core CPU with Cool and Quite enables. The CPU will "think" that the loading is low and keep on using a lower CPU clock which make the compression process slower that it should be.
It will yield better compression speed if 7z keep the threads in some fixed cores, or, better yet, use all the available cores for the compression.
km307, your assumption is wrong. Windows is the one that schedules threads on different cores, not 7-zip, so the software can't generally affect it (though you can force it by setting an affinity). Then anytime any core reaches full utilization, the speed is increased to maximum, no matter how often the thread jumps between cores. If you don't believe me, get CrystalCPUID and watch its realtime cpu clock meter while you encode.
The case for the new K10 based AMD CPU is each indivual core will has its own frequency based on the loading of that core. Now, the threads of 7z keep on spreading to all the cores, so, each core is not always fully loaded and hence the CPU cores frequencies keep on going up and down. That can be monitored by the AMD Power Monitor software and see the indivual CPU cores' clock changing all the times.
By keeping the load in two of the cores will put that two cores in max. load and hence max CPU core frequency all the times. I tried to compress a 4GB file with Cool and Quite on and off, the performace difference is 2x.
With Intel Core i7 processor, keeping two of the core busy (and the rest core at nearly idle) may trigger the Turbo Boost and make the CPU clock goes higher than normal, that may also help to compress the file faster.
So, I think unless 7z can use 4 or more threads, staying in two fixed CPU core will help to compress file faster.
Use task manager or process monitor to force 7-zip affinity to one or two logical cpus (cores). If that works, use this tool from Tom's Hardware to force the affinity selections for 7z.exe and 7zG.exe:
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.