Methods for performance evaluation of algorithms and computers

Several popular CPU performance metrics are summarized. Hockney’s method for modeling CPU performance as a linear timing equation is discussed and extended to evaluate nonlinear algorithms and their interactions with complex CPU instruction sets. It is argued that instead of determining Hockney’s n 1 / 2 and r ∞ of a computer, it is appropriate to determine these values for the combination of the algorithm, compiler, and computer hardware (thus renaming the parameters N 1 / 2 and R ∞). The resulting discussion demonstrates how computers and algorithms can be evaluated both separately and as an integrated unit. This method allows users to predict the performance of complex codes using a fairly simple set of measurements. It also provides guidance and rationale for effective program coding styles and design habits.