Performance Benchmarking

You should monitor the following during performance benchmarking:

For I/O systems with a number of data points or high transfer rate requirements, test the performance-related components early because the test can prove that the design assumptions are incorrect.

For example, if you plan to use an instrument in the data acquisition system, build some simple tests that perform the type of I/O you plan to use. While the specifications can indicate that the instrument can handle the application you are creating, you might find that triggering, for example, takes longer than you expected. You also might find that switching between channels with different gains cannot be done at the necessary rate without reducing the accuracy of the sampling, or that even though the instrument can handle the rates, you do not have enough time on the software side to perform the desired analysis.

A simple prototype of the time-critical sections of the application can reveal these kinds of problems.

Because timing can fluctuate from one run to another for a variety of reasons, put the operation in a loop and display the average execution time. You also can use a graph to display timing fluctuations. Causes of timing fluctuations include system interrupts, screen updates, user interaction, and initial buffer allocation.