DK wrote:
> In article <je5ht2$3oa$1@dont-email.me>, Paul <nospam@needed.com> wrote:
>
>> Another test you can use, is 7ZIP in ultra mode compression. My
>> puny machine can only do about 5MB/sec compression, which means
>> the hard drive isn't stressed at all.
>
> Just tried 7ZIP ultra compression. The version I have seems to only use
> a single core for the ~1.3 MB/sec on average (Task Manager shows no
> more than 30% CPU utilization and that is with email, browser and
> newsreader). Is your 5 Mb/sec for a single core as well? If yes, what
> CPU do you have?
>
> Dima
To do a fair comparative test, we'd have to start with
the same data file. My processor for the test was
the E8400 dual core.
7ZIP is a bit picky about using multiple cores. In some cases,
the interface claims it will use multiple cores, when at runtime
it is obviously not doing so. That's why it is important to
use Task Manager, to make sure it's working.
The slower compression options, like Ultra, are the ones that
may trigger multi-core operation.
If you wanted another benchmark, there is "pigz" for Linux,
which is a multithreaded GZIP. If I need to compress entire
disk drive images, that's my tool of choice. It's a good
tradeoff between compression speed, and amount of compression
achieved. I don't know if there is a Windows port. In Linux,
you get this from your package manager and install it there.
http://www.zlib.net/pigz/
OK, there's a Windows port here, just found it. I won't
be testing this until later.
http://web.archive.org/web/201001070...downloads.html http://web.archive.org/web/201001070....1.4_win32.zip
*******
To have a fair test, we can create files with similar entropy.
Download a copy of "dd".
http://www.chrysocome.net/download http://www.chrysocome.net/downloads/dd-0.5.zip
Unzip the file. Open an MSDOS (command prompt) window and "cd"
(change directories) to the directory holding the dd.exe file.
Then try
dd if=/dev/random of=test.bin bs=1048576 count=1024
That will create a 1GB file of pseudo-random numbers. Since the seed used
isn't likely to be the same, we won't have exactly the same file.
On my machine, it takes 24 seconds to make the test file.
To test the seed, I created two files with the tool, and the
checksums don't match. So it uses a new seed for each file.
Now, for the test. (If I wanted to do this right, I'd compute
the md5sum of a 7GB movie.iso file, to flush the file cache. But
that's not necessary as this test is CPU bound.)
I did an "Add to archive" in 7ZIP version 4.60 beta (from 2008).
Archive format 7z
Compression level Ultra
Compression method LZMA
Dictionary size 64MB
Word size 64
Solid Block size 4GB
Number of CPU threads 2 (E8400 3GHz Dual Core 6MB L2 cache)
The test uses about 700MB of memory (of 4GB of DDR2-800 CAS5 memory).
Basically, the file is incompressible (high entropy), and the
output file "test.7z" is bigger than the original. The
1048576 KB input file "test.bin", becomes 1062758 KB on output as "test.7z".
The test completes on my machine in 7 minutes 13 seconds.
1,073,741,824 bytes in 433 seconds is 2,479,773 bytes/sec
compression rate. During the test, the CPU runs at only
75%, meaning there is 25% of the dual core not used. (And that
means this test does not scale well, apparently.)
You should be able to beat me, with a quad core, by a bit.
Assuming 7ZIP scales to four threads. I don't know if it
does or not. If you see "Number of CPU threads 4",
the contest should be interesting.
*******
I'm going to run it again now with one core instead of two.
I'm seeing the Task Manager at 50%, which means running with
one thread is much more efficient for this version of software.
Two threads should have run at 100%, but only manage 75%, which
means the threads aren't independent of one another.
That wouldn't happen with the Cinebench CPU test, which scales
perfectly, and doesn't really measure bottlenecks in the processor
quite as well. 7ZIP or WinRAR put more pressure on the cache levels.
Archive format 7z
Compression level Ultra
Compression method LZMA
Dictionary size 64MB
Word size 64
Solid Block size 4GB
Number of CPU threads 1 (E8400 3GHz Dual Core 6MB L2 cache)
In this case, I feel I should be able to beat a single core on
your processor. My time on this one is 11 minutes 17 seconds.
1,073,741,824 bytes in 677 seconds is 1,586,029 bytes/sec
Paul