home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / piwg / read.me < prev    next >
Encoding:
Text File  |  1988-05-03  |  8.8 KB  |  214 lines

  1.  
  2. READ.ME  
  3.  
  4. There are three (3) complete runs to be made on each computer/compiler
  5. combination:
  6.  
  7.    1) The first run is typified by ACOMPILE.COM (VAX) or ACOMPILE.CLI
  8.       ( ROLM/Data General ). Build the necessary script from one of these
  9.       for your computer/compiler. This first script compiles the feature
  10.       measurement tests, links them into one executable program,
  11.       and then executes the tests and prints a report. The minimum times
  12.       are desired. Runs tests individually if times differ significantly
  13.       form the combined tests.
  14.       An alternate form is shown in WCOMPILE.COM and COMPILE.COM ( VAX )
  15.       These tests may be run one at a time, starting with C000001 and
  16.       continuing through T000006, with A000091, A000093, A000094 also.
  17.       For embedded computers, this run must be executed on real hardware.
  18.       This run is not suitable for simulators.
  19.       ( COPY.R1000 may help selecting the files for the RATIONAL R1000 and
  20.         see ACOMPILE.LOGR1000 for an example run )
  21.       The files with an extension or type with the word LOG in it are
  22.       random samples of output.
  23.  
  24.    2) The second run is typified by ZCOMPILE.COM ( VAX ) or ZCOMPILE.CLI
  25.       ( ROLM/Data General ) or ZCOMPILE.ICC for the ICC compiler on the
  26.       GOULD computer. Build the necessary script from one of these
  27.       for your computer/compiler. This script provides one compilation time
  28.       measurement for the time to compile, link and execute two programs.
  29.       The execution time is very small compared to compile time.
  30.       The "execution" for this run can be performed on a simulator ( the
  31.       simulation time is not counted as part of the total time )
  32.  
  33.    3) The third run is typified by Z000111D.COM ( VAX ) or Z000111D.CLI
  34.       ( ROLM/Data General ). Build the necessary script from one of these
  35.       for your computer/compiler. This script provides many compilation
  36.       time measurements. There are sets of increasingly larger compilations
  37.       in order to get a feature verses time plot for compilation.
  38.       There is no linking or execution in this run. Even for embedded
  39.       computers it is strictly a host computer run.
  40.       Z000111.COM just prints wall time between each run. Please do the
  41.       subtractions if Z000111D.COM will not run.
  42.  
  43. Generally, compilation order is alphabetical.
  44. There are a number of choices to be made depending on computer/compiler.
  45.  
  46. 1. Choose either A000001 or A000002 for DURATION_IO. A000001 is preferred.
  47.  
  48. 2. Choose one of A000011 through A000016 for CPU_TIME_CLOCK. This is
  49.    computer/operating system dependent.
  50.  
  51. 3. Choose one of A000042 through A000044 for PIWG_IO body.
  52.         A000042 produces printout as it runs ( only one sample per run)
  53.         A000043 writes times to disk and then A000049 is used to average
  54.                 and print the results.
  55.         A000044 saves the time values in memory ( only for embedded computers
  56.                 that have no TEXT_IO,  some editing will be required )
  57.  
  58. 4. Choose from making each procedure C000001 through T000006 a main program
  59.    or using A000100 as a single main program with A000042
  60.    or using A000101 and A000102 as a pair of smaller main programs
  61.    or using A000103 ( like A000100 as a single main program ) with A000049,
  62.                       and A000043 in place of A000042, PIWG_IO.
  63.    or using appropriate versions of A000104, A000105, A000106 and A000107
  64.                       main programs
  65.  
  66. The first group of files establishes the basic routines in the program library.
  67. The complete test suite can be compiled, linked and run from one library.
  68. All files are of the form  NAME.TYP with TYP being ADA for all Ada source files
  69.  
  70. ADA A000001    DURATION_IO instantiation      PICK ONE of these two
  71. ADA A000002    DURATION_IO using FLOAT_IO for incomplete compilers
  72.  
  73. ADA A000011    CPU_TIME_CLOCK.ADA     PICK ONE from this set or do your own
  74. ADA A000012    CPU_TIME_CLOCK.VAX     --------
  75. ADA A000013    CPU_TIME_CLOCK.DG      ( manufacturers should help )
  76. ADA A000014    CPU_TIME_CLOCK.UNIX
  77. ADA A000015    CPU_TIME_CLOCK.R1000
  78. ADA A000016    CPU_TIME_CLOCK.ULTRIX
  79.  
  80. ADA A000021    REMOTE_GLOBAL_        optimization control package spec
  81. ADA A000022    REMOTE_GLOBAL         optimization control package body
  82.  
  83. ADA A000031    ITERATION_            Iteration control package spec
  84. ADA A000032    ITERATION             Iteration control package body
  85.  
  86. ADA A000041    PIWG_IO_              output package spec ( universal )       
  87.  
  88.                                      PICK ONE from group below:
  89. ADA A000042    PIWG_IO               package body for screen/printer output
  90. ADA A000043    PIWG_IO               package body for writing to disk
  91. ADA A000044    PIWG_IO               package body for save in memory, no TEXT_IO
  92.  
  93. ADA A000049    A000049               Report printer if A000043 is used.
  94.  
  95. ADA A000051    A000051               executable procedure to print WALL and CPU 
  96.  
  97. ADA A000052    A000052               A set of 4 executable procedures that
  98. ADA A000053    A000053               can be used to measure CPU and Wall time
  99. ADA A000054    A000054               without instrumenting the run begin
  100. ADA A000055    A000055               measured. Place optional control between
  101.                                      A000052 and A000053. Place test being
  102.                                      measured between A000054 and A000055.
  103.  
  104. ADA A000091    DHRYSTONE
  105. ADA A000092    WHETSTONE using manufacturers math routines ( must edit )
  106. ADA A000093    WHETSTONE using standard Ada math routines
  107. ADA A000094    HENNESY   benchmarks
  108.  
  109. ADA A000098    This is a skeleton procedure that can be copied and edited
  110.                to construct more tests that have multiple parts.
  111.  
  112. ADA A000099    This is a skeleton procedure that can be copied and edited
  113.                to construct more tests.
  114.  
  115. ADA A000100    A000100 This is a top level procedure that calls all the other
  116.                executable timing tests. It is useful if there is a "MAKE"
  117.                facility available. ( This may be too big to execute on many
  118.                computers. Tests may be run individually or this may be split
  119.                into smaller sets )
  120.  
  121. ADA A000101    This and A000102 are A000100 split in two pieces.
  122.                A000091 .. L000003
  123. ADA A000102    P000001 .. T000006
  124.  
  125. ADA A000103    All test, similar to A000100, with 10 iterations on tests
  126.                that can be executed in a loop.A000043  PIWG_IO must be
  127.                chosen to use this test.
  128. ADA A000104    This is the composite benchmark part of A000100
  129. ADA A000105    This is the non-I/O non-tasking part of A000100
  130. ADA A000106    This is the I/O part of A000100
  131. ADA A000107    This is the tasking part of A000100
  132.  
  133.                This group of tests measures task creation related timing.
  134. ADA C000001
  135. ADA C000002
  136. ADA C000003
  137.  
  138.                This group of tests measures dynamic elaboration related timing.
  139. ADA D000001
  140. ADA D000002
  141. ADA D000003
  142. ADA D000004
  143.  
  144.                This group of tests measures exception related timing.
  145. ADA E000001
  146. ADA E000002
  147. ADA E000004
  148.  
  149.                This group of tests measures coding style related timing.
  150. ADA F000001
  151. ADA F000002
  152.  
  153.                This group of tests measures TEXT_IO related timing.
  154. ADA G000001
  155. ADA G000002
  156. ADA G000003
  157. ADA G000004
  158. ADA G000005
  159. ADA G000006
  160. ADA G000007
  161.  
  162.                This group of tests measures loop overhead related timing.
  163. ADA L000001
  164. ADA L000002
  165. ADA L000003
  166.  
  167.                This group of tests measures procedure call related timing.
  168. ADA P000001
  169. ADA P000002
  170. ADA P000003
  171. ADA P000004
  172. ADA P000005
  173. ADA P000006
  174. ADA P000007
  175. ADA P000010
  176. ADA P000011
  177. ADA P000012
  178. ADA P000013
  179.  
  180.                This group of tests measures task related timing.
  181. ADA T000001
  182. ADA T000002
  183. ADA T000003
  184. ADA T000004
  185. ADA T000005
  186. ADA T000006
  187. ADA T000007  this is a check on T000001 that only works on some machines
  188.  
  189. The file ACOMPILE.COM is a sample script that runs the above tests.
  190. The file ACOMPILE.CLI is a sample script for Data General MV series for above
  191. The file COMPILE.COM is another sample script for the VAX
  192. The file COMPILE.CLI is a sample script for Data General MV series for above
  193. The file WCOMPILE.COM is another sample script for an embedded compiler
  194.                       running on a VAX.
  195.  
  196. More on Run 2
  197.  
  198. The "Z" tests are for measuring compilation time
  199.  
  200. Z000001 through Z000023 are all part of one test, see sample script ZCOMPILE
  201. see ZCOMPILE.COM for compilation speed test ( the historic Z tests one set )
  202. see ZCOMPILE.CLI for another sample script.
  203.     ZCOMPILE.LOG is a sample output
  204.  
  205.  
  206. More on Run 3
  207.  
  208. Z000110 through Z000315 are each measured for compile time. ( no link or
  209. execute )
  210.  
  211. see ZOOO111D.COM for compilation speed test ( individually timed )
  212. see Z000111D.CLI for another sample script.
  213.     Z000111D.LOG is a sample output
  214.