16.1 Dhrystone
The Dhrystone benchmark was designed to test performance factors important in non-numeric systems programming (operating systems, compilers, word processors, and so on). Some important features of Dhrystone are:
- Contains no floating-point operations.
- A considerable percentage of time is spent in string functions making the test very dependent upon the way such operations are performed (for example, by in-line code or routines written in assembly language) making it susceptible to manufacturers 'tweaking' of critical routines.
- Contains hardly any tight loops so in the case of very small caches, the majority of instruction accesses will be misses; however, the situation changes radically as soon as the cache reaches a critical size and can hold the main measurement loop.
- Only a small amount of global data is manipulated (as opposed to Whetstone).
- The output is the number of Dhrystones per second (the number of iterations of the main code loop per second).
- The industry has adopted the VAX 11/780 as the reference 1 MIP machine. The VAX 11/780 achieves 1757 Dhrystones per second.
The DMIPS Calculation is shown in Equation 1.
Equation 1.
- cycles_per_run = Clock_cycles/Number_Of_Runs
- User_Time = Clock_cycles/(CPU cycles per second)
- Dhrystones_Per_Second = Number_Of_Runs/User_Time
- DMIPS = Dhrystones_Per_Second/1757.0
- DMIPS/MHz = DMIPS/(CPU cycles per second)