home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / BENCHMAR / MCHALL10.ZIP / MCHALL10.DOC < prev    next >
Encoding:
Text File  |  1990-11-12  |  5.4 KB  |  126 lines

  1.  
  2.  
  3.                          THE MCHALL BENCHMARK
  4.                              VERSION 1.0
  5.                                11/12/90
  6.  
  7.  
  8.  
  9. 1. BACKGROUND
  10.  
  11.          In comparing the performance capabilities of computers as 
  12. possible platforms for handling signal processing requirements, the 
  13. existing benchmarks (Whetstones, Drystones, MIPS, etc.) are often 
  14. confusing and contradictory.  In addition, they may measure parameters 
  15. that are of no benefit in the application being considered.
  16.  
  17.          The MCHALL Benchmark was conceived as a portable, quick-and-dirty 
  18. test that measures computer performance in accomplishing a narrow range of 
  19. tasks.  The tasks were selected to represent typical processing 
  20. requirements.  The benchmark tests include (1) reading a block of data 
  21. from a file, and (2) performing a series of arithmetic operations on that 
  22. block of data.
  23.  
  24.          The program was deliberately kept short and simple, and was 
  25. implemented without prejudice toward or against any computer.  It is felt 
  26. that detailed comparisons between computers running actual application 
  27. programs may differ from the MCHALL results; nevertheless, the MCHALL 
  28. Benchmark should provide a first level indication of relative performance.
  29.  
  30. 2. IMPLEMENTATION AND EXECUTION
  31.  
  32.          For reasons of portability, the MCHALL Benchmark was implemented 
  33. in the ANSI C language.  Most computers are provided with C compilers that 
  34. run ANSI C source code, therefore, apples versus apples testing can be 
  35. maintained.
  36.  
  37.          When the MCHALL test is run, the operator is asked to enter the 
  38. desired number of loops to be executed.  One loop consists of:
  39.  
  40.          --  Reading a block of 10,000 16-bit integer values
  41.          from a file (MCHALL.DAT) that will have been previously
  42.          created by the MCHALL program.
  43.  
  44.          --  Executing a loop for 50,000 cycles.  The loop 
  45.          contains the following instruction types:
  46.  
  47.                  15  Additions and subtractions
  48.                   1  Multiplication
  49.                   3  Divisions
  50.                   1  Shift
  51.                  10  Comparisons
  52.                  10  Branch Decisions
  53.  
  54.          In very slow machines, the time required to run one loop may be 
  55. sufficient to provide a very low timing error tolerance -- in fast 
  56. machines, multiple loops must be run to reduce the error tolerance.  (The 
  57. C timing instructions used provide an overall timing error of plus or 
  58. minus 0.5 second over the duration of the test.  Therefore, if the machine 
  59. is fast, and completes the run in one second, the error tolerance is ±0.5 
  60. second or 50%.  This problem is reduced by running the test over a higher 
  61. number of loops on faster machines.)
  62.  
  63.          To maintain a consistent results database, the following "rules" 
  64. have been established for running the tests:
  65.  
  66.          1.  Compiler optimization features (if available) should
  67.          be disabled prior to compilation.  (We want all computers
  68.          to run the same set of instructions for the tests.)
  69.  
  70.          2.  On computers containing floppy and hard disk drives,
  71.          the Benchmark should be run from the hard drive.
  72.  
  73.          3.  The user should set the "loop" value high enough to
  74.          achieve an error tolerance of less than ±1%.
  75.  
  76.          4.  On multi-user computers, no other users are allowed
  77.          to be active during the testing period.
  78.  
  79.          NOTE:  In order to maximize portability of the source code, the 
  80. .DAT data file that is created by the program is not deleted.  Some compilers 
  81. were found to have trouble with some of the instructions used to delete 
  82. the file.  
  83.  
  84. 3.  RESULTS
  85.  
  86.          As of this writing, the results indicated in the following 
  87. tabulation have been obtained using the BETA version of the program.  The 
  88. writers would be anxious to entertain constructive suggestions for 
  89. modification and further applications of the MCHALL Benchmark.
  90.  
  91.          Date    Computer                MCHALL  Tol%    Comments
  92.  
  93.          10/23   PC XT                   133.7   0.12
  94.          10/23   PC XT (Turbo)            80.8   0.12
  95.          10/23   PC 386 (8 MHz)           24.7   0.10
  96.          10/23   PC 386SX (16 MHz)        12.8   0.78
  97.          10/23   PC 386 (20 MHz)           9.5   0.26
  98.          10/23   VAX 11/780                8.9   0.28
  99.          10/24   VAX 3400                  5.8   0.86
  100.          10/24   VAX 3300                  5.7   0.88
  101.          10/24   MAC II CX                 5.5   0.91
  102.          10/24   VAX 3100                  5.4   0.93
  103.          10/24   PC 386 (33 MHz)           5.0   0.50
  104.          10/24   MAC II FX                 2.2   2.27    Tol > 1%
  105.          11/08   PC 486 (33 MHz)           0.99  1.67    Tol > 1%
  106.          10/24   DECstation 5000           0.9   1.11    Tol > 1%
  107.  
  108.  
  109. 4.  A REQUEST
  110.  
  111.          This program is contributed to the public domain with the usual 
  112. disclaimer (no guarantee of results, useful or otherwise; no liability if 
  113. it trashes your machine, etc.).  The authors would appreciate any feedback 
  114. on results you obtain using this program, particularly for machines not 
  115. listed above.  If someone has access to a CRAY, that would be very 
  116. interesting information.
  117.  
  118. The author of this program is Charles Hall; consultant and beta tester 
  119. Thad McCulloch.  Send any feedback to Thad McCulloch at the Exec-PC 
  120. bulletin board (414-789-4210), or via PRODIGY (GBNB50A).  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.