home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / test / benchres.doc < prev    next >
Encoding:
Text File  |  1988-05-03  |  10.1 KB  |  186 lines

  1. ,print 106
  2. type 86 86 86 86
  3. ,end
  4.  
  5.  
  6.                               BENCHMARKING RESULTS[1] 
  7.  
  8.                             written by Bonnie Burkhardt 
  9.                                       May 1985 
  10.  
  11.                             GTE Government Systems Group 
  12.                                   Western Division 
  13.                                  100 Ferguson Drive 
  14.                               Mountain View, CA  94039 
  15.  
  16.  
  17.  
  18.                                     INTRODUCTION 
  19.  
  20.             The purpose of the benchmarking tests was to provide a comparison 
  21.        between  Ada[2] compilers and between compilers for various languages. 
  22.        The  information  gathered  for  comparison  includes  the  number  of 
  23.        instructions executed per unit time, compile time, link time, and size 
  24.        of the executable image. 
  25.  
  26.  
  27.                                PROCEDURE AND RESULTS 
  28.  
  29.             All tests were run on a quiescent system.  A Dec VAX 11/780  with 
  30.        eight  megabytes  of  main memory and VMS version 4.0 operating system 
  31.        was used for all the benchmark tests, except where noted otherwise. 
  32.  
  33.             The benchmark programs used were the Whetstone  Benchmark[3]  and 
  34.        the  Dhrystone  Benchmark[4].  The Whetstone benchmark program did not 
  35.        include  the  procedure  POUT  in  order  to  eliminate   any   timing 
  36.        differences  caused  by  the  system's  handling  of output.  For more 
  37.        details about the Whetstone benchmark  program,  see  "Timing  Studies 
  38.        Using a Synthetic Whetstone Benchmark"[5]. 
  39.  
  40.             A comparison between Ada compilers was  accomplished  by  running 
  41.        the  Ada  Whetstone  benchmark  on  six  different  Ada  compilers and 
  42.        Dhrystone benchmark three different Ada compilers.  The Ada  compilers 
  43.        were those produced by Dec, ICSC, and Telesoft.  In order to provide a 
  44.        comparison  between  languages,  the  Whetstone  benchmark  test   was 
  45.        translated  into four different programming languages, Ada, FORTRAN77, 
  46.        Pascal, and 'C'.  The Whetstone test was then run  on  the  respective 
  47.        compilers.   It  was  inappropriate to translate the Dhrystone test to 
  48.        any other language since it was designed to be an Ada benckmark. 
  49.  
  50.        --------------- 
  51.        1.  This work was performed under NOSC contract N6601-85-C-0041, Naval 
  52.        Ocean Systems Center, San Diego, CA 92152. 
  53.        2.  Ada is a registered trademark of the U.S.  Department  of  Defense 
  54.        Ada Joint Program Office. 
  55.        3.  H.J.Curnow and B.A.Wichmann, "The Synthetic Whetstone  Benchmark", 
  56.        Computer Journal, February 1976, pages 46-49. 
  57.        4.  Reinhold P.  Weicker, "Dhrystone:  A Synthetic Systems Programming 
  58.        Benchmark", Communications of the ACM, October 1984, pages 1013-1030. 
  59.        5.  Sam Harbaugh  and  John  A.   Forakis,  "Timing  Studies  Using  a 
  60.        Synthetic Whetstone Benchmark", Ada Letters, September-October 1984. 
  61.  
  62.                                                                 Page 2 
  63.  
  64.  
  65.             The execution speed of the code compiled was tested with  various 
  66.        optimization  criteria,  such  as  optimize=TIME,  optimize=SPACE, and 
  67.        NOOPTIMIZE.   A  comparison  was  also  obtained  showing  the  timing 
  68.        differences of referencing a system math library verses a stubbed math 
  69.        library.  These variations resulted in an additional set of  Whetstone 
  70.        test  cases in Ada, Pascal, FORTRAN77, and 'C'.  The full math library 
  71.        was not tested on the Telesoft compiler  since  the  MATHLIB  did  not 
  72.        include the ATAN function. 
  73.  
  74.             Additional test cases were also used  to  compare  the  benchmark 
  75.        with  full  pragma  suppress  and  one  with  none.   This resulted in 
  76.        additional test cases for both the Whetstone and  Dhrystone  benchmark 
  77.        tests. 
  78.  
  79.             The results are as follows: 
  80.  
  81.                                DHRYSTONE RATING 
  82.                    (in Dhrystone statements per second) 
  83.  
  84.                                                   FULL      NO 
  85.                 LANGUAGE   COMPILER              CHECKS   CHECKS 
  86.                +--------+----------------------+--------+--------+ 
  87.                | Ada    | DEC Micro Vax I      |  44286 |  63015 | 
  88.                |        |   field test v2.0    |        |        | 
  89.                | Ada    | DEC Pre-release v1.0 | 109036 |        | 
  90.                | Ada    | DEC Pre-release v2.0 | 126586 | 157685 | 
  91.                +--------+----------------------+--------+--------+ 
  92.        NOTE: The Dhrystone speed rating assumes that each execution cycle of   
  93.        the program performs 100 Dhrystone instructions. 
  94.  
  95.  
  96.  
  97.  
  98.               SIZE OF WHETSTONE EXECUTABLE CODE (in Kbytes) 
  99.                  and COMPILE TIME (in minutes : seconds) 
  100.  
  101.                                             TOTAL  COMPILE  LINK    TOTAL 
  102.          LANGUAGE      COMPILER             SIZE    TIME    TIME    TIME 
  103.        +-----------+----------------------+-------+-------+-------+-------+ 
  104.        | Ada       | ICSC v3.0            |  36   |  0:42 |  0:35 |  1:12 |
  105.        | Ada       | DEC Pre-release v1.0 |  12   |  1:05 |  0:17 |  1:16 |
  106.        | Ada       | DEC Pre-release v2.0 |  12   |  0:59 |  0:17 |  1:16 | 
  107.        | Ada       | DEC Micro VAX I      |       |  2:37 |  0:44 |  3:21 | 
  108.        |           |  Ada field test v2.0 |       |       |       |       | 
  109.        | Ada       | DEC VAXStation I     |  12.5 |  3:16 |  1:06 |  4:22 | 
  110.        |           |  Ada v1.0            |       |       |       |       | 
  111.        | Ada       | Telesoft v2.1        |   7   |  5:12 |   --  |  5:12 |  
  112.        | FORTRAN77 | DEC v4.0             |   4.5 |  0:11 |  0:06 |  0:17 | 
  113.        | PASCAL    | DEC v2.4             |   5.5 |  0:16 |  0:06 |  0:22 | 
  114.        | C         | DEC v1.5             |  26   |  0:23 |  0:13 |  0:36 | 
  115.        +-----------+----------------------+-------+-------+-------+-------+ 
  116.        NOTE: The Telesoft v2.1 compiler performs the compile and the link
  117.              as one function. 
  118.  
  119.  
  120.                                                                 Page 3 
  121.  
  122.  
  123.  
  124.                                   WHETSTONE RATING 
  125.                 (in KWIPS -- Kilo Whetstone Instructions per second) 
  126.  
  127.  
  128.  
  129.                                              CODE             STUBBED  FULL 
  130.                                            OPTIMIZE   CHECKS   MATH    MATH 
  131.          LANGUAGE        COMPILER          OPTIONS   INCLUDED LIBRARY LIBRARY 
  132.        +----------+---------------------+-----------+--------+-------+-------+ 
  133.        | Ada      | ICSC v3.0           | DEFAULT   | NONE   |  356  |       | 
  134.        +----------+---------------------+-----------+--------+-------+-------+ 
  135.        | Ada      | DEC Pre-release v1.0| TIME      | NONE   | 1488  |  1119 | 
  136.        | Ada      | DEC Pre-release v1.0| TIME      | ALL    | 1269  |  1013 | 
  137.        +----------+---------------------+-----------+--------+-------+-------+ 
  138.        | Ada      | DEC Pre-release v2.0| TIME      | NONE   | 2094  |  1624 | 
  139.        | Ada      | DEC Pre-release v2.0| TIME      | ALL    | 1884  |  1507 | 
  140.        | Ada      | DEC Pre-release v2.0| SPACE     | NONE   | 1013  |   938 | 
  141.        | Ada      | DEC Pre-release v2.0| SPACE     | ALL    |  918  |   851 | 
  142.        | Ada      | DEC Pre-release v2.0| NOOPTIMIZE| NONE   |  852  |   778 | 
  143.        | Ada      | DEC Pre-release v2.0| NOOPTIMIZE| ALL    |  721  |   670 | 
  144.        +----------+---------------------+-----------+--------+-------+-------+ 
  145.        | Ada      | DEC Micro VAX I     | TIME      | NONE   |  415  |   243 | 
  146.        |          |  Ada field test v2.0|           |        |       |       | 
  147.        | Ada      | DEC Micro VAX I     | TIME      | ALL    |  303  |   209 | 
  148.        |          |  Ada field test v2.0|           |        |       |       | 
  149.        +----------+---------------------+-----------+--------+-------+-------+ 
  150.        | Ada      | DEC VAXStation I    | TIME      | NONE   |  454  |   262 | 
  151.        |          |  Ada compiler v1.0  |           |        |       |       | 
  152.        | Ada      | DEC VAXStation I    | TIME      | ALL    |  415  |   253 | 
  153.        |          |  Ada compiler v1.0  |           |        |       |       | 
  154.        +----------+---------------------+-----------+--------+-------+-------+ 
  155.        | Ada      | Telesoft v2.1       | DEFAULT   | NONE   |  198  |       | 
  156.        | Ada      | Telesoft v2.1       | DEFAULT   | ALL    |   81  |       | 
  157.        | Ada      | Telesoft v3.2       | DEFAULT   | -TBD-  | -TBD- |       | 
  158.        +----------+---------------------+-----------+--------+-------+-------+ 
  159.        | FORTRAN77| DEC v4.0            | DEFAULT   | NONE   | 1278  |  1169 | 
  160.        | FORTRAN77| DEC v4.0            | DEFAUL280  |  1178 | 
  161.        | FO      +----------+---------------------+-----------+--------+---       | PASCAL   | DEC v2.4            | DEFAULT   | NONE   | 1       | PASCAL   | DEC v2.4            | DEFAULT   | DEFAULT|         | PASCAL   | DEC v2.4            | DEFAULT   
  162.          FORTRAN = (OVERFLOW,NOBOUNDS,NOUNDERFLOW) 
  163.          PASCAL  = (BOUNDS,NOCASE_SELECTORS,NOOVERFLOW,NOPOINTERS,NOSUBRANGE) 
  164.          'C'     = (OPTIMIZE ALL) 
  165.  
  166.  
  167.                                                                 Page 4 
  168.  
  169.  
  170.                                   ACKNOWLEDGMENTS 
  171.  
  172.             I wish to acknowledge the programming efforts  of  Louis  Ma  and 
  173.        Doris  Sayon  of  GTE Corp., Mountain View, California.  Also, I would 
  174.        like to thank the Zilog Company for the loan of the ICSC compiler  and 
  175.        Dr.  Sam Harbaugh for review of this paper. 
  176.  
  177.  
  178.                                       LISTINGS 
  179.  
  180.             The Ada Dhrystone listings and the Whetstone listings written  in 
  181.        Ada, Pascal, 'C', and FORTRAN may be obtained by writing to the author 
  182.        at GTE Government Systems Group, Western Division, Mail Stop 6241, 100 
  183.        Ferguson  Drive,  Mountain  View,  CA  94039  or  by MILNET/ARPANET by
  184.        request to HARBAUGHS@EGLIN-VAX.
  185.  
  186.