Bogomegasavage Results

Yes, folks, cpu-rate now has a transcendental benchmark of sorts in it (try cpu-rate -t). It executes the venerable "savage" benchmark inside a timed loop. The savage benchmark is a nested series of trancendental function calls and it gives one some idea of how well a system might do in a trig or exp or log heavy application.

This rate may or may not be closely linked to the raw floating point rate. For one thing, it can depend strongly on the math library one links to -- there are better and worser ways to evaluate most of the transcendentals. For another, it can depend in detail on the CPU architecture (although this is a bit less common than it was in the old x87 co-processor days). Some CPUs may have one or more of the functions built in, as did the old Intel 8x87 numerical co-processor, and these CPUs will typically significantly outperform expectations based on raw float rates.

On RISC CPU's this is much less common, but a knowledge of these rates is still a useful design parameter so I include it in this set of benchmarks.


cpu-rate -t Results

#========================================================================
#                             BOGOMEGASAVAGE
#               (iterate) x = tan(atan(exp(log(sqrt(x*x)))))
#                      [tests five transcendentals]
#========================================================================
# Timing "Empty" Loop
# Time(sec): 1.70900000e-09 +/- 2.87623491e-12
# Samples = 100  Loop iterations per sample = 10000
# ========================================================================
# Timing 3.141593 = tan(atan(exp(log(sqrt(3.141593*3.141593)))))
# Time(sec): 7.05095000e-07 +/- 5.86786316e-11
# Samples = 100  Loop iterations per sample = 10000
#========================================================================
Time for savage transcendental operation: 140.68 nanoseconds
bogomegasavage:   7.11