summaryrefslogtreecommitdiffstats
path: root/src/libs/7zip/unix/DOCS/MANUAL/commands/bench.htm
blob: 14f456cd32d83b91f0eb94bb9eb538053fc4de14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
  <META http-equiv="Content-Type" content="text/html; charset=Windows-1252">
  <TITLE>b (Benchmark) command</TITLE>
  <LINK href="style.css" rel="stylesheet" type="text/css">
</HEAD>

<BODY>

<H1>b (Benchmark) command</H1>

<P>Measures speed of the CPU and checks RAM for errors.</P>

<H4>Syntax</H4>

<PRE class="syntax">
b [number_of_iterations] [-mmt{N}] [-md{N}] [-mm={Method}]
</PRE>

<P>There are two tests:<P>
<OL>
  <LI>Compressing with LZMA method
  <LI>Decompressing with LZMA method
</OL>

<P>The benchmark shows a rating in MIPS (million instructions per second).
The rating value is calculated from the measured CPU speed and it
is normalized with results of Intel Core 2 CPU with multi-threading option 
switched off. So if you have Intel Core 2 Duo, 
rating values must be close to real CPU frequency.</P>

<P>You can change the upper dictionary size to increase memory usage by -md{N} switch.
Also, you can change the number of threads by -mmt{N} switch.</P>

<P>The <B>Dict</B> column shows dictionary size. For example, 21 means 2^21 = 2 MB.</P>

<P>The <B>Usage</B> column shows the percentage of time the processor is working.
It's normalized for a one-thread load. For example, 180% CPU Usage for 2 threads
can mean that average CPU usage is about 90% for each thread.</P>

<P>The <B>R / U</B> column shows the rating normalized for 100% of CPU usage.
That column shows the performance of one average CPU thread.</P>

<P><B>Avr</B> shows averages for different dictionary sizes.</P>
<P><B>Tot</B> shows averages of the compression and decompression ratings.</P>

<P>Compression speed and rating strongly depend on memory (RAM) latency.

<P>Decompression speed and rating strongly depend on the integer performance of the CPU.
For example, the Intel Pentium 4 has big branch
misprediction penalty (which is an effect of its long pipeline) and pretty slow
multiply and shift operations. So, the Pentium 4 has pretty low decompressing ratings.</P>

<P>You can run a CRC calculation benchmark by specifying -mm=crc.
That test shows the speed of CRC calculation in MB/s. The first column shows the size of the block.
The next column shows the speed of CRC calculation for one thread. The other columns are results
for multi-threaded CRC calculation.</P> 


<H4>Examples</H4>

<PRE class="example">
7z b
</PRE>
runs benchmarking.

<PRE class="example">
7z b -mmt1 -md26
</PRE>
runs benchmarking with one thread and 64 MB dictionary.

<PRE class="example">
7z b 30
</PRE>
<P>runs benchmarking with default settings for 30 iterations.</P>

</BODY>
</HTML>