The URL http://hpwww.epfl.ch/bench/bench.FAQ.html contains interesting benchmark source code pointers. I ported
the "C" FLOPS mark by Al Aburto (aburto@nosc.mil) to Forth, and intend to have a go at some of the other benchmarks
mentioned there.
| Flops.c is a 'c' program which attempts to estimate your systems
| floating-point 'MFLOPS' rating for the FADD, FSUB, FMUL, and FDIV
| operations based on specific 'instruction mixes' (discussed below).
| The program provides an estimate of PEAK MFLOPS performance by making
| maximal use of register variables with minimal interaction with main
| memory. The execution loops are all small so that they will fit in
| any cache. Flops.c can be used along with Linpack and the Livermore
| kernels (which exersize memory much more extensively) to gain further
| insight into the limits of system performance. The flops.c execution
| modules also include various percent weightings of FDIV's (from 0% to
| 25% FDIV's) so that the range of performance can be obtained when
| using FDIV's. FDIV's, being computationally more intensive than
| FADD's or FMUL's, can impact performance considerably on some systems.
There are no obvious 'holes' in this code that Forth could exploit (none I can find at least :-)
The Forth FLOPS benchmark shows the quality of your compiler's FPU code as compared to what an optimizing "C" compiler
would give you. Results for a large number of C compilers on a variety of systems are available in the .tbl files.