home *** CD-ROM | disk | FTP | other *** search
-
-
- THE MCHALL BENCHMARK
- VERSION 1.0
- 11/12/90
-
-
-
- 1. BACKGROUND
-
- In comparing the performance capabilities of computers as
- possible platforms for handling signal processing requirements, the
- existing benchmarks (Whetstones, Drystones, MIPS, etc.) are often
- confusing and contradictory. In addition, they may measure parameters
- that are of no benefit in the application being considered.
-
- The MCHALL Benchmark was conceived as a portable, quick-and-dirty
- test that measures computer performance in accomplishing a narrow range of
- tasks. The tasks were selected to represent typical processing
- requirements. The benchmark tests include (1) reading a block of data
- from a file, and (2) performing a series of arithmetic operations on that
- block of data.
-
- The program was deliberately kept short and simple, and was
- implemented without prejudice toward or against any computer. It is felt
- that detailed comparisons between computers running actual application
- programs may differ from the MCHALL results; nevertheless, the MCHALL
- Benchmark should provide a first level indication of relative performance.
-
- 2. IMPLEMENTATION AND EXECUTION
-
- For reasons of portability, the MCHALL Benchmark was implemented
- in the ANSI C language. Most computers are provided with C compilers that
- run ANSI C source code, therefore, apples versus apples testing can be
- maintained.
-
- When the MCHALL test is run, the operator is asked to enter the
- desired number of loops to be executed. One loop consists of:
-
- -- Reading a block of 10,000 16-bit integer values
- from a file (MCHALL.DAT) that will have been previously
- created by the MCHALL program.
-
- -- Executing a loop for 50,000 cycles. The loop
- contains the following instruction types:
-
- 15 Additions and subtractions
- 1 Multiplication
- 3 Divisions
- 1 Shift
- 10 Comparisons
- 10 Branch Decisions
-
- In very slow machines, the time required to run one loop may be
- sufficient to provide a very low timing error tolerance -- in fast
- machines, multiple loops must be run to reduce the error tolerance. (The
- C timing instructions used provide an overall timing error of plus or
- minus 0.5 second over the duration of the test. Therefore, if the machine
- is fast, and completes the run in one second, the error tolerance is ±0.5
- second or 50%. This problem is reduced by running the test over a higher
- number of loops on faster machines.)
-
- To maintain a consistent results database, the following "rules"
- have been established for running the tests:
-
- 1. Compiler optimization features (if available) should
- be disabled prior to compilation. (We want all computers
- to run the same set of instructions for the tests.)
-
- 2. On computers containing floppy and hard disk drives,
- the Benchmark should be run from the hard drive.
-
- 3. The user should set the "loop" value high enough to
- achieve an error tolerance of less than ±1%.
-
- 4. On multi-user computers, no other users are allowed
- to be active during the testing period.
-
- NOTE: In order to maximize portability of the source code, the
- .DAT data file that is created by the program is not deleted. Some compilers
- were found to have trouble with some of the instructions used to delete
- the file.
-
- 3. RESULTS
-
- As of this writing, the results indicated in the following
- tabulation have been obtained using the BETA version of the program. The
- writers would be anxious to entertain constructive suggestions for
- modification and further applications of the MCHALL Benchmark.
-
- Date Computer MCHALL Tol% Comments
-
- 10/23 PC XT 133.7 0.12
- 10/23 PC XT (Turbo) 80.8 0.12
- 10/23 PC 386 (8 MHz) 24.7 0.10
- 10/23 PC 386SX (16 MHz) 12.8 0.78
- 10/23 PC 386 (20 MHz) 9.5 0.26
- 10/23 VAX 11/780 8.9 0.28
- 10/24 VAX 3400 5.8 0.86
- 10/24 VAX 3300 5.7 0.88
- 10/24 MAC II CX 5.5 0.91
- 10/24 VAX 3100 5.4 0.93
- 10/24 PC 386 (33 MHz) 5.0 0.50
- 10/24 MAC II FX 2.2 2.27 Tol > 1%
- 11/08 PC 486 (33 MHz) 0.99 1.67 Tol > 1%
- 10/24 DECstation 5000 0.9 1.11 Tol > 1%
-
-
- 4. A REQUEST
-
- This program is contributed to the public domain with the usual
- disclaimer (no guarantee of results, useful or otherwise; no liability if
- it trashes your machine, etc.). The authors would appreciate any feedback
- on results you obtain using this program, particularly for machines not
- listed above. If someone has access to a CRAY, that would be very
- interesting information.
-
- The author of this program is Charles Hall; consultant and beta tester
- Thad McCulloch. Send any feedback to Thad McCulloch at the Exec-PC
- bulletin board (414-789-4210), or via PRODIGY (GBNB50A).
-
-
-
-
-
-