Lines Matching refs:of
13 CPU/compiler performance measurement, in particular in the area of
19 With the increasing use of the benchmark, it seems necessary to
21 function. Version 2 of Dhrystone is the result of such a re-
31 There is an obvious need for a common C version of Dhrystone, since C
33 class of systems (microcomputers, minicomputers, workstations) where
35 one C version of Dhrystone such that results can be compared without
48 danger that benchmarking results obtained by a naive application of
49 Dhrystone - without inspection of the code that was generated - could
52 The overall policiy for version 2 has been that the distribution of
55 necessary; their impact should be negligible.) Also, the order of
56 statements should remain unchanged. Although I am aware of some
57 critical remarks on the benchmark - I agree with several of them - and
64 of representative programs that can be used as benchmarks; users should
70 corrections for minor deficiencies found by users of version 2.0.)
84 omitted in [1] - follows mostly the ideas of Rick Richardson [2].
85 However, any changes in the initialization part and in the printing of
91 The original publication of Dhrystone did not contain any statements
94 procedure of Dhrystone in a loop and to measure the execution time. If
97 suppresses code generation for a part of the statements. Therefore in
98 version 2 all variables of "main" are printed at the end of the
100 execution of the benchmark.
104 compilers should be prevented from moving code out of the measurement
107 role of some operands has been changed, and it was made sure that the
108 numbers defining the "Dhrystone distribution" (distribution of
113 Because of the self-imposed limitation that the order and distribution
114 of the executed statements should not be changed, there are still cases
117 benchmarks. Users of the benchmark are advised to check code listings
118 whether code is generated for all statements of Dhrystone.
125 of the benchmark, this does have an impact - though a very minor one -
131 loop and that are not just renamings of variables. All remarks refer to
138 executed "then" part of the statement
144 The string assignment prevents movement of the preceding assignment
145 to Str_2_Loc (5'th statement of "main") out of the measurement loop
149 Int_Glob makes the value of Int_Glob possibly dependent from the
150 value of Run_Index.
152 o In the three arithmetic computations at the end of the measurement
153 loop in "main ", the role of some variables has been exchanged, to
158 o For Proc_2, no code has been changed, but the values of the actual
165 It now assigns a value to a global variable instead of a local
171 was added in the non-executed "else" part of the "if" statement, to
172 prevent the suppression of code generation for the assignment to
178 ('R' instead of 'X') because a comparison with 'X' is implied in the
183 has been added in the non-executed part of the last "if" statement,
192 "if" statement of Proc_3 was removed.
194 The distribution statistics have been changed only by the addition of
208 compilers removed too much code in the main part of the program, this
215 comparison of strings are operators defined in the language, and the
216 upper bounds of the strings occuring in Dhrystone are part of the type
219 are not part of the language, so the string operations must be
220 expressed in terms of the C library functions "strcpy" and "strcmp".
224 the length of the strings is not known at compilation time; the
248 is intended, as is the distribution of inter-module and intra-module
253 practice, where programs consist of several independently compiled
255 while compiling one unit, has no information about the use of
258 larger, the intention is that these effects of separate compilation
280 expansion of procedures), procedure merging is not to be used. The
281 reason is that the percentage of procedure and function calls is part
282 of the "Dhrystone distribution" of statements contained in [1]. This
283 restriction does not hold for the string functions of the C version
306 reporting results with different levels of compiler optimization for
312 they should be understood as results obtained without use of the
314 of registers even without explicit register declarations ([3], p.
331 The C version 2.1 of Dhrystone has been developed in cooperation with
335 very valuable contribution to the dissemination of the benchmark. I
339 earlier versions of the benchmark.
345 Communications of the ACM 27, 10 (Oct. 1984), 1013-1030