Double-precision WHETSTONE
Livermore edition
Units = millions of Whetstones per second
Power Macintosh 8500/180 |
Library | MrC 3.0 | CW10 | mcc 3.0 |
mathlib | 157 | 88 | 128 |
powermathlib | 240 | 108 | 180 |
libmoto | 250 | 110 | 186 |
Apple Network Server 700/150 |
MrC 3.0 | xlC 3.0 |
192 | 192 |
System:
- Power Macintosh 8500/180 = PowerPC 604e 180MHz, 256K L2
- Network Server 700/150 = PowerPC 604 150MHz, 1024K L2
Compilers:
- CW10 = Metrowerks CodeWarrior 10 -opt full -w off
- MrC = Apple MrC 3.0f1c8 -opt speed,unroll,unswitch -inline 5 -w off
- MCC = Motorola MCC 3.0 -O4 -Atarg=604,gim=2,fcm=2,whole=1,inline=%all,inllev=5 -w off
- xlC = IBM xlC 3.0 -O3 -qarch=ppc -qtune=604 -Q+sub1:sub2:sub3
Libraries:
- mathlib = Apple MathLib 2.0.3
- powermathlib = Apple PowerMathLib 3.0d1
- libmoto = Motorola libmoto provided with MotoTools 3.0
/* ========================= DWHET.C ===================================
*
* Double precision Whetstone program.
*
* Measures C compiler and CPU and FPU performance in
* Whetstone-instructions per second (times about 3).
* Since the code is small and the data smaller, and the disk isn't
* used, only in-cache performance is tested on most systems.
*
* References on Whetstones:
*
* Computer Journal Feb 76 Timing Studies Using a
* pg 43-49 vol 19 no 1. Synthetic Whetstone Benchmark,
* Curnow and Wichmann. S. Harbaugh & J. Forakris
*
* This translated ANSI C version copyright 26 Jan 1995 by John Trenholme */
Detailed results
# CT.CompilersAchive:Kevin:dwhet-cw-libmoto:
# CT.CompilersAchive:Kevin:dwhet-cw-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 18.10 seconds
Whetstones = 110497.24 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 18.12 seconds
Whetstones = 110395.58 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 18.12 seconds
Whetstones = 110395.58 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-mathlib:
# CT.CompilersAchive:Kevin:dwhet-cw-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 22.80 seconds
Whetstones = 87719.30 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.220e-16 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 22.80 seconds
Whetstones = 87719.30 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.220e-16 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 22.80 seconds
Whetstones = 87719.30 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.220e-16 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-pmlib:
# CT.CompilersAchive:Kevin:dwhet-cw-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 18.47 seconds
Whetstones = 108303.25 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 18.50 seconds
Whetstones = 108108.11 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-cw-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 18.47 seconds
Whetstones = 108303.25 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 0.000e+00
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-libmoto:
# CT.CompilersAchive:Kevin:dwhet-mcc-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 10.77 seconds
Whetstones = 185758.51 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 10.78 seconds
Whetstones = 185471.41 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 10.77 seconds
Whetstones = 185758.51 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-mathlib:
# CT.CompilersAchive:Kevin:dwhet-mcc-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 15.82 seconds
Whetstones = 126448.89 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 -1.110e-16 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 15.58 seconds
Whetstones = 128342.25 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 -1.110e-16 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 15.58 seconds
Whetstones = 128342.25 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 -1.110e-16 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-pmlib:
# CT.CompilersAchive:Kevin:dwhet-mcc-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 11.13 seconds
Whetstones = 179640.72 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 11.13 seconds
Whetstones = 179640.72 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mcc-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 11.15 seconds
Whetstones = 179372.20 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 0.000e+00 2 2.220e-16 3 2.220e-16 4 0.000e+00
5* 0.000e+00 6 0.000e+00 7 2.887e-15 8 2.220e-16
9 0.000e+00 10* 0.000e+00 11 -6.661e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-libmoto:
# CT.CompilersAchive:Kevin:dwhet-mrc-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 8.05 seconds - use larger outer loop count!
Whetstones = 248447.20 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 2.977e-15 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 8.00 seconds - use larger outer loop count!
Whetstones = 250000.00 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 2.977e-15 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-libmoto
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 8.02 seconds - use larger outer loop count!
Whetstones = 249480.25 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 2.977e-15 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-mathlib:
# CT.CompilersAchive:Kevin:dwhet-mrc-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 12.75 seconds
Whetstones = 156862.75 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 1.345e-16 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 12.75 seconds
Whetstones = 156862.75 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 1.345e-16 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-mathlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 12.73 seconds
Whetstones = 157068.06 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 1.345e-16 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-pmlib:
# CT.CompilersAchive:Kevin:dwhet-mrc-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 8.33 seconds - use larger outer loop count!
Whetstones = 240000.00 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 2.977e-15 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 8.33 seconds - use larger outer loop count!
Whetstones = 240000.00 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 2.977e-15 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============
# CT.CompilersAchive:Kevin:dwhet-mrc-pmlib
=== DOUBLE PRECISION WHETSTONES IN C =======================
2000 outer loops inner loop multiplier = 10
=== Note: actual operation rate is about Whetstones / 3 ====
Elapsed time = 8.33 seconds - use larger outer loop count!
Whetstones = 240000.00 double-precision kilowhets/second
============================================================
Checksum differences from 1.0 (should all be near 0.0) =
1* 2.082e-17 2 1.345e-16 3 2.482e-16 4 2.082e-17
5* 2.082e-17 6 2.082e-17 7 2.977e-15 8 1.345e-16
9 2.082e-17 10* 2.082e-17 11 -6.613e-16
============= Note: loops 1, 5 & 10 are unused =============

Back to MPW Home Page
|