Deciding what a benchmark should measure depends on the kind of application for which it should assist performance tuning.
An application that is optimized for throughput has relatively simple needs. The only thing that matters is performing as many operations as possible in a given time interval. Used as a regression test, a throughput benchmark verifies that the application still can do x
operations in y
seconds on the baselined hardware. Once this criterion is fulfilled, the benchmark can be used to verify that it is maintained.
Again, as we have learned from the chapter on memory management, throughput alone is not usually a real life problem (except in, for example, batch jobs or offline processing). However, as can be easily understood, writing a benchmark that measures throughput is very simple. Its functionality can usually be extracted from a larger application without the need for elaborate software engineering tricks.