home *** CD-ROM | disk | FTP | other *** search
- PERFORMANCE ISSUES WORKING GROUP
- (PIWG)
-
- This file contains the READ.ME and TAPEDIST.LTR files from
- the directory <INFO-ADA.PIWG> on ADA20.ISI.EDU. The files referenced
- in this file are also contained in the PIWG directory.
-
-
- READ.ME
-
- There are three (3) complete runs to be made on each computer/compiler
- combination:
-
- 1) The first run is typified by ACOMPILE.COM (VAX) or ACOMPILE.CLI
- ( ROLM/Data General ). Build the necessary script from one of these
- for your computer/compiler. This first script compiles the feature
- measurement tests, links them into one executable program,
- and then executes the tests and prints a report. The minimum times
- are desired. Runs tests individually if times differ significantly
- form the combined tests.
- An alternate form is shown in WCOMPILE.COM and COMPILE.COM ( VAX )
- These tests may be run one at a time, starting with C000001 and
- continuing through T000006, with A000091, A000093, A000094 also.
- For embedded computers, this run must be executed on real hardware.
- This run is not suitable for simulators.
- ( COPY.R1000 may help selecting the files for the RATIONAL R1000 and
- see ACOMPILE.LOGR1000 for an example run )
- The files with an extension or type with the word LOG in it are
- random samples of output.
-
- 2) The second run is typified by ZCOMPILE.COM ( VAX ) or ZCOMPILE.CLI
- ( ROLM/Data General ) or ZCOMPILE.ICC for the ICC compiler on the
- GOULD computer. Build the necessary script from one of these
- for your computer/compiler. This script provides one compilation time
- measurement for the time to compile, link and execute two programs.
- The execution time is very small compared to compile time.
- The "execution" for this run can be performed on a simulator ( the
- simulation time is not counted as part of the total time )
-
- 3) The third run is typified by Z000111D.COM ( VAX ) or Z000111D.CLI
- ( ROLM/Data General ). Build the necessary script from one of these
- for your computer/compiler. This script provides many compilation
- time measurements. There are sets of increasingly larger compilations
- in order to get a feature verses time plot for compilation.
- There is no linking or execution in this run. Even for embedded
- computers it is strictly a host computer run.
- Z000111.COM just prints wall time between each run. Please do the
- subtractions if Z000111D.COM will not run.
-
- Generally, compilation order is alphabetical.
- There are a number of choices to be made depending on computer/compiler.
-
- 1. Choose either A000001 or A000002 for DURATION_IO. A000001 is preferred.
-
- 2. Choose one of A000011 through A000016 for CPU_TIME_CLOCK. This is
- computer/operating system dependent.
-
- 3. Choose one of A000042 through A000044 for PIWG_IO body.
- A000042 produces printout as it runs ( only one sample per run)
- A000043 writes times to disk and then A000049 is used to average
- and print the results.
- A000044 saves the time values in memory ( only for embedded computers
- that have no TEXT_IO, some editing will be required )
-
- 4. Choose from making each procedure C000001 through T000006 a main program
- or using A000100 as a single main program with A000042
- or using A000101 and A000102 as a pair of smaller main programs
- or using A000103 ( like A000100 as a single main program ) with A000049,
- and A000043 in place of A000042, PIWG_IO.
- or using appropriate versions of A000104, A000105, A000106 and A000107
- main programs
-
- The first group of files establishes the basic routines in the program library.
- The complete test suite can be compiled, linked and run from one library.
- All files are of the form NAME.TYP with TYP being ADA for all Ada source files
-
- ADA A000001 DURATION_IO instantiation PICK ONE of these two
- ADA A000002 DURATION_IO using FLOAT_IO for incomplete compilers
-
- ADA A000011 CPU_TIME_CLOCK.ADA PICK ONE from this set or do your own
- ADA A000012 CPU_TIME_CLOCK.VAX --------
- ADA A000013 CPU_TIME_CLOCK.DG ( manufacturers should help )
- ADA A000014 CPU_TIME_CLOCK.UNIX
- ADA A000015 CPU_TIME_CLOCK.R1000
- ADA A000016 CPU_TIME_CLOCK.ULTRIX
-
- ADA A000021 REMOTE_GLOBAL_ optimization control package spec
- ADA A000022 REMOTE_GLOBAL optimization control package body
-
- ADA A000031 ITERATION_ Iteration control package spec
- ADA A000032 ITERATION Iteration control package body
-
- ADA A000041 PIWG_IO_ output package spec ( universal )
-
- PICK ONE from group below:
- ADA A000042 PIWG_IO package body for screen/printer output
- ADA A000043 PIWG_IO package body for writing to disk
- ADA A000044 PIWG_IO package body for save in memory, no TEXT_IO
-
- ADA A000049 A000049 Report printer if A000043 is used.
-
- ADA A000051 A000051 executable procedure to print WALL and CPU
-
- ADA A000052 A000052 A set of 4 executable procedures that
- ADA A000053 A000053 can be used to measure CPU and Wall time
- ADA A000054 A000054 without instrumenting the run begin
- ADA A000055 A000055 measured. Place optional control between
- A000052 and A000053. Place test being
- measured between A000054 and A000055.
-
- ADA A000091 DHRYSTONE
- ADA A000092 WHETSTONE using manufacturers math routines ( must edit )
- ADA A000093 WHETSTONE using standard Ada math routines
- ADA A000094 HENNESY benchmarks
-
- ADA A000098 This is a skeleton procedure that can be copied and edited
- to construct more tests that have multiple parts.
-
- ADA A000099 This is a skeleton procedure that can be copied and edited
- to construct more tests.
-
- ADA A000100 A000100 This is a top level procedure that calls all the other
- executable timing tests. It is useful if there is a "MAKE"
- facility available. ( This may be too big to execute on many
- computers. Tests may be run individually or this may be split
- into smaller sets )
-
- ADA A000101 This and A000102 are A000100 split in two pieces.
- A000091 .. L000003
- ADA A000102 P000001 .. T000006
-
- ADA A000103 All test, similar to A000100, with 10 iterations on tests
- that can be executed in a loop.A000043 PIWG_IO must be
- chosen to use this test.
- ADA A000104 This is the composite benchmark part of A000100
- ADA A000105 This is the non-I/O non-tasking part of A000100
- ADA A000106 This is the I/O part of A000100
- ADA A000107 This is the tasking part of A000100
-
- This group of tests measures task creation related timing.
- ADA C000001
- ADA C000002
- ADA C000003
-
- This group of tests measures dynamic elaboration related timing.
- ADA D000001
- ADA D000002
- ADA D000003
- ADA D000004
-
- This group of tests measures exception related timing.
- ADA E000001
- ADA E000002
- ADA E000004
-
- This group of tests measures coding style related timing.
- ADA F000001
- ADA F000002
-
- This group of tests measures TEXT_IO related timing.
- ADA G000001
- ADA G000002
- ADA G000003
- ADA G000004
- ADA G000005
- ADA G000006
- ADA G000007
-
- This group of tests measures loop overhead related timing.
- ADA L000001
- ADA L000002
- ADA L000003
-
- This group of tests measures procedure call related timing.
- ADA P000001
- ADA P000002
- ADA P000003
- ADA P000004
- ADA P000005
- ADA P000006
- ADA P000007
- ADA P000010
- ADA P000011
- ADA P000012
- ADA P000013
-
- This group of tests measures task related timing.
- ADA T000001
- ADA T000002
- ADA T000003
- ADA T000004
- ADA T000005
- ADA T000006
- ADA T000007 this is a check on T000001 that only works on some machines
-
- The file ACOMPILE.COM is a sample script that runs the above tests.
- The file ACOMPILE.CLI is a sample script for Data General MV series for above
- The file COMPILE.COM is another sample script for the VAX
- The file COMPILE.CLI is a sample script for Data General MV series for above
- The file WCOMPILE.COM is another sample script for an embedded compiler
- running on a VAX.
-
- More on Run 2
-
- The "Z" tests are for measuring compilation time
-
- Z000001 through Z000023 are all part of one test, see sample script ZCOMPILE
- see ZCOMPILE.COM for compilation speed test ( the historic Z tests one set )
- see ZCOMPILE.CLI for another sample script.
- ZCOMPILE.LOG is a sample output
-
-
- More on Run 3
-
- Z000110 through Z000315 are each measured for compile time. ( no link or
- execute )
-
- see ZOOO111D.COM for compilation speed test ( individually timed )
- see Z000111D.CLI for another sample script.
- Z000111D.LOG is a sample output
-
-
- ----------------------------------------------------------------------
- TAPEDIST.LTR
-
-
- November 17, 1986
-
-
-
-
- Dear PIWG Tape Distribution,
-
-
-
- Enclosed is the tape distribution tree. The root nodes were mailed
- this letter and a tape at the same time everyone was sent the
- letter. If you did not get a tape, use the attached tree and mail
- a tape to your parent node. "Tape" may be disk or other media. The
- root nodes should make copies of the enclosed tape on the child nodes
- tape and mail the copies to their child nodes.
-
- The tape designation is TAPE_8_31_86. Older tapes are on file and
- this will not be the last tape. Please submit corrections and
- suggestions. More tests and improvements will be made as a
- result of the next PIWG workshop. Another, more complete tape
- will follow in six months to a year. 96 copies of this benchmark
- suite are being distributed.
-
- The purpose of PIWG is to develop the benchmarks and collect and
- disseminate results. Please send a copy of computer printout or
- a copy of the output or fill in the form below and on the back
- of this letter. It is important to get two sites to run the
- measurements on each target.
-
-
- To Jon S. Squire
- Westinghouse Electric Corp.
- P.O. Box 746 MS 4760
- Baltimore, MD 21203
-
-
- Call me or call in results if you wish. (301)765-3748
-
-
-
-
-
- Jon S. Squire, PIWG Chair
-
-
-
- Results of PIWG TAPE_8_31_86 benchmark runs
-
- Date _______________
-
- Submitted by:
- name _______________________________________________________
-
- addr _______________________________________________________
-
- _______________________________________________________
-
- phone _______________________________________________________
-
-
- Please use FULL nomenclature and versions
-
- Host _______________________________________________________
-
- Target _______________________________________________________
-
- Op System _______________________________________________________
-
- Compiler _______________________________________________________
-
-
- PLEASE send at least one measurement.
- If you can, make a second and third run to determine stability. If more
- than one run is made, supply the average and the number of run averaged.
- Throw out anomalous large or small runs. We want the best repeatable time
- that can be achieved without changing the test suite.
-
- Test time number of runs(if averaged)
- ---------- --------- -----------
- A000091
- Dhrystone _________ milliseconds ___
-
- A000092 manufacturers math routines
- Whetstone _________ Average Whetstone rating KWIPS
-
- A000093
- Whetstone _________ Average Whetstone rating KWIPS
-
- A000094
- Hennesy
- Perm Towers Queens Intmm Mm Puzzle Quick Bubble Tree FFT Ack
-
- _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
-
-
- Just the CPU time from each test
-
- C000001 _________ microseconds ___
-
- C000002 _________ microseconds ___
-
- C000003 _________ microseconds ___
-
- D000001 _________ microseconds ___
-
- D000002 _________ microseconds ___
-
- D000003 _________ microseconds ___
-
- D000004 _________ microseconds ___
-
- E000001 _________ microseconds ___
-
- E000002 _________ microseconds ___
-
- E000004 _________ microseconds ___
-
- F000001 _________ microseconds ___
-
- F000002 _________ microseconds ___
-
- G000001 _________ microseconds ___
-
- G000002 _________ microseconds ___
-
- G000003 _________ microseconds ___
-
- G000004 _________ microseconds ___
-
- G000005 _________ microseconds ___
-
- G000006 _________ microseconds ___
-
- G000007 _________ microseconds ___
-
- L000001 _________ microseconds ___
-
- L000002 _________ microseconds ___
-
- L000003 _________ microseconds ___
-
- P000001 _________ microseconds ___
-
- P000002 _________ microseconds ___
-
- P000003 _________ microseconds ___
-
- P000004 _________ microseconds ___
-
- P000005 _________ microseconds ___
-
- P000006 _________ microseconds ___
-
- P000007 _________ microseconds ___
-
- P000010 _________ microseconds ___
-
- P000011 _________ microseconds ___
-
- P000012 _________ microseconds ___
-
- P000013 _________ microseconds ___
-
- T000001 _________ microseconds ___
-
- T000002 _________ microseconds ___
-
- T000003 _________ microseconds ___
-
- T000004 _________ microseconds ___
-
- T000005 _________ microseconds ___
-
- T000006 _________ microseconds ___
-
- T000007 _________ microseconds ___
-
- Z000000 CPU TIME ______________________ ( Historic comparison )
-
- WALL TIME ______________________
-
- Other "Z" Tests ( Printout is the only practical way )
-