Title

Roy Longbottom at Linkedin Whetstone Benchmark History and Results


Abstract

The Fortran Whetstone programs were the first general purpose benchmarks that set industry standards of computer system performance. Whetstone programs also addressed the question of the efficiency of different programming languages, an important issue not covered by more contemporary standard benchmarks. Results are provided for computers produced during the 1960's to present day systems, including via different languages.

The benchmark, a UK product, was based on work by Brian Wichmann ** of the National Physical Laboratory. It was developed by Harold Curnow ** of HM Treasury Technical Support Unit (TSU - later part of Central Computer and Telecommunications Agency or CCTA). This document was produced by Roy Longbottom (TSU/CCTA 1960 to 1993), who carried out further development.

** Download Whetstone.pdf, a copy of their original research paper - kindly supplied by Brian.

Contents


In The Beginning Whetting The Stone Rolling The Stone
Throwing The Stone Compiler Optimisation Table Headings and Explanation
Index of Results PC Results Same C Compiler PC Comparison Various Compilers
PC Efficiency %MWIPS/MHz References and Source Code More Historic Data

In The Beginning

Before the introduction of high level languages, general computer performance comparisons were usually based on instruction execution times. These were combined to produce an overall rating using a mix of instructions, the most well known one being the Gibson Mix for scientific applications, devised by J Gibson of IBM.

In 1957, the UK Government formed the Technical Support Unit to evaluate and advise on computers, employing engineers from the telecommunications service. This unit eventually became part of the central procurement body later known as the Central Computer and Telecommunications Agency (CCTA).

TSU engineers produced numerous calculations between 1966 and 1973, using an ADP Mix, the Gibson Mix and a Process Control Mix.

To Start

Whetting The Stone

During the late 1960's, the UK National Physical Laboratory had an English Electric (ICL) KDF9 scientific computer with one of the first implementations of Algol 60, the Whetstone translator-interpreter. Brian Wichmann modified the interpreter to record statistics on the intermediate Whetstone instructions and produced a suite of simple statements which could be used to evaluate the efficiency of compilers and overall performance of a processor (see ICL KDF9 benchmark results in the table - the first is for the Whetstone Interpreter).

In 1971 Roy Wickens, one of the founding members of TSU, abandoned producing a portable benchmark using real programs as it was becoming too expensive. He asked Harold Curnow to produce modular synthetic benchmark suites. Harold produced the COPRXX suite for COBOL and a scientific program based on Brian Wichmann's work. The first Whetstone benchmark, known as HJC11 (later ALPR12), was written in Algol 60 and completed in November 1972. The Fortran codes (HJC12 and HJC12D) were published in April 1973 as FOPR12 and FOPR13. The first results published were for IBM and ICL mainframes in 1973.

The speed rating was calculated in terms of Kilo Whetstone Instructions Per Second or KWIPS. Later, Millions or MWIPS was used.

To Start

Rolling The Stone

During the 1970's, I was head of the CCTA Scientific Systems Branch with responsibilities for evaluating new systems, advising on procurements and supervising acceptance trials at both Government Departments and Universities. This provided the means for obtaining numerous results on minicomputers and mainframes. At this time, versions were available in various programming languages (see results).

Taking personal responsibility for state of the art systems including supercomputers, in 1978 I produced a fully vectorisable version FOVP12 (using arrays instead of simple variables). This provides MWIPS ratings at different vector lengths (array dimensions). At the time, results of the Livermore Kernels benchmark were available for top of the range scientific systems but it was considered that it would be useful to be able to have rough performance comparisons with less glamorous systems. Results are given later in the tables at vector length 256. Also during 1978, the standard versions were modified to calculate MWIPS, using CPU timers.

[Vector version reference - R Longbottom, "Performance of Multi-user Supercomputing Facilities", 4th International Conference on Supercomputing, April 1989]

It appears that my vectorisable version was used long after I departed from the supercomputer scene. Later Results From Here (mainly for workstations).

In 1980, I added facilities to time each of the eight loops to produce speed ratings in Millions of Integer Instructions and Floating point Operations Per Second (MIPS and MFLOPS). MIPS represent a relative measurement where DEC VAX 11/780 = 1. This was to identify the tricks that some compilers were getting up to and to provide more meaningful measures for supercomputers.

The last alterations to the benchmark were in 1987, in conjunction with Bangor University, who made slight changes intended to avoid over optimisation whilst still executing identical functions. The benchmarks were also converted to Fortran 77 standards. At a later stage, I produced compatible versions using Fortran, Basic, C and Java programming languages for use on PCs (see PC results). These included further changes to repeat the tests via outer loops to prevent speed calculation inaccuracy due to timer resolution.

2005 - The Whetstone Benchmark has been compiled to run as a 64 bit program via Windows XP Pro x64 and modified to demonstrate performance of Dual Core CPUs. Also available are 32 bit versions that use SSE floating point instructions via the latest Microsoft compiler.

See Win64.htm and DualCore.htm

To Start

Throwing The Stone

The benchmark results were published within CCTA as "Commercial in Confidence" and supplied to customers when required for a particular procurement. By 1979, results were available for about 200 systems from 30 suppliers. Although the main emphasis was on comparing speeds via Fortran, limited results were also available via Algol, PL/I, APL, Pascal, Basic, Simula and Coral besides from varying optimising options. Along with results in single and double precision (and extended precision where appropriate), more than 500 measurements were available.

By this time, the Whetstone benchmark speed rating had become the default definition of minicomputer MIPS (Millions of Instructions Per Second), its significance being exaggerated when a minicomputer supplier somehow acquired the table of Whetstone benchmark results and published some of them in the computer press with the heading "Now who has the fastest minicomputer".

Whetstone performance ratings are known to have been a serious consideration in the design of the Digital VAX systems and other minicomputers of the same vintage, where some were reluctant to publish double precision results which did not match VAX speeds. DEC benchmarking publications show that Whetstone results were given serious consideration until 1986. The benchmark was still being run by DEC in 1996 with results of Alpha-based systems available on www.digital.com.

The Intel microprocessors were designed at the height of popularity of the Whetstone benchmark. Examining the instruction set of the math coprocessor, with instructions for sin, cos, atan, sqrt and log, possibly indicates a complete hardware implementation (the one and only?) to match the benchmark. The design also includes 80 bit registers which ensure fast double precision operation. Although rightly not used as one of the main performance measurement tools, the Whetstone benchmark was still run by Intel in 1996, with results of 486 systems, DX4 and Pentium overdrive processors being available on www.intel.com. The benchmark also formed a small part (2%) of the Intel iComp benchmark.

As can be seen in PC results, the Intel P4 processor obtains poor results relative to CPU MHz. This might be due to the length of the P4’s execution pipelines and the relatively few instructions in the benchmark’s timing loops.

To Start

Compiler Optimisation

The benchmark is very simple, comprising some 150 statements with eight active loops, three of which execute via procedure calls. Three loops carry out floating point calculations, two functions, one assignments, one fixed point arithmetic and one branching statements. The dominant loop, usually accounting for 30% to 50% of the time, carries out floating point calculations via procedure calls.

The tests only reference a small amount of data which will fit in the L1 cache of any CPU. Hence, L2 cache and memory speed should have no influence on performance ratings. Speeds are invariably proportional to CPU MHz on a given type of processor.

The code was designed to be non-optimisable and optimising compilers did not have a significant impact until the introduction of in-lining of subroutine instructions. Although this produces code outside the definition of Whetstone instructions, which include a specific proportion of procedure calls, it is a valid technique to obtain the best performance out of modern systems and may well be the compiler default optimisation level. As reflected in the PC results, a good compiler can halve the execution time by in-lining, careful choice of instructions and sequence, and omission of intermediate stores/loads.

With in-lining and global optimisation, a small number of compilers identified that the dominant loop did not have to be executed and immediately lead to an apparent more than doubling of MWIPS speeds. This was identified by the 1980 enhancements and fixed in 1987, essentially by changing the name of one variable. Unlike some other standard benchmarks, Whetstone results were generally verified as part of the CCTA system appraisal, in project related benchmarking sessions or during acceptance trials. It was also standard practice to run the tests with different levels of optimisation and obvious over optimised results were not published.

Besides the global optimisation problem, two other areas of complication have been observed. The first is where loop variables can be too large for index registers yet the program still runs with a truncated count. This is catered for by having a double loop to control the running time. The second complication becomes apparent as systems become faster and underflow can slow down the execution rate of the first two loops. This can be fixed by changing the values of variables t and t1 to be closer to 0.5.

The latest Intel compiler appears to over optimise the loop with integer arithmetic. Here, a series of variables are calculated which produce array indices of constant values and therefore only need to be calculated once. It would seem that the only way the problem would arise was if the compiler carried out the indexing calculations, maybe to determine that array accesses are not going to be out of bounds.

To Start

Table Headings and Explanation

Supplier or System - The suppliers full name or earlier/later names may be shown. Hardware options may be included with the system name.

CPU and Precision - This includes the CPU chip type and an indication of the precision as shown in the original CCTA results. This gives Base: Precision. For example, 2:23 indicates 23 binary digits and 16:6 six hexadecimal digits. These were important when considering accuracy where hexadecimal single precision was not that good. Precision numbers are as follows (single and double):

SP DP P1 16:6 16:14 P2 10:8 10:16 P3 8:13 8:26 P4 2:48 2:96 P5 2:23 2:30 P6 2:27 2:62 P7 2:23 2:55 P8 2:24 2:56 P9 2:23 2:46 P10 2:23 2:38 P11 2:23 2:39 P12 2:28 2:64 P13 2:22 2:38 P14 2:24 2:53 P15 2:39 2:78 P16 2:39 2:74 P17 2:23 2:47 P18 2:27 2:60 P19 2:31 P20 2:32 P1 also had Extended Precision of 16:28 and P10 2:69

For vector processors, an indication is given to show whether the result represents scalar or vector performance, the latter being for vector length 256. In comparing supercomputer performance both scalar and vector results should be taken into account. In this case a weighted harmonic mean is used based on 90% of the code being vectorisable. The weighted average is calculated as 1/(0.1/S+0.9/V), where S is the scalar speed and V the vector speed.

Clock MHz - This may be derived from the clock period for older systems.

MWIPS - Generally single precision Whetstone rating in Millions of Whetstone Instructions Per Second. Differences between Single Precision (MWIPS SP) and Double Precision (MWIPS DP) should be noted.

MFLOPS - The geometric mean of the three floating point results in Millions of Floating Point Operations Per Second.

VAX MIPS - The geometric mean of Millions of Operations Per Second for the sections covering fixed point arithmetic, if then else and assignments, multiplied by five. Such a calculation for the DEC VAX 11/780, accepted as running at 1 Million Instructions Per Second, produces approximately 1.0 MIPS.

Lang - Two or three digit code to indicate the programming language:

For Fortran Alg Algol PL1 PL/I Cor Coral Pas Pascal Apl APL Bas Basic BasI Interpreter VB Visual Basic C++ C or C++ Sim Simula

Opt - An indication of relative optimisation levels within a given range of systems. IL might be shown to indicate in-lining of procedures or subroutines.

xxx indicates unknown for versions run by suppliers which may be subject to part not being run due to over-optimisation.

Cost $K - Most of the prices shown were obtained from US sources. Some of the costs are, of course, not particularly accurate. Mainframe and larger minicomputer prices are generally only for a processor with minimum memory capacity.

Intr Date - Approximate year of first delivery.

To Start

Index

Acorn Alliant Amdahl Apple Bull
Burroughs CA CCI CDC/ETA CIL
Compaq Convex Concurrent Cray CTL
DEC Data General Digico EAI Elliott (GEC)
Elxsi Encore Engish Electric Ferranti FPS
Fujitsu GEC General Automation Gould Harris
Honeywell HP IBM ICL Interdata
Modcomp NCR Norsk Data NEC Perkin Elmer
Prime Pyramid Rank Xerox SDS SEL
Siemens Nixdorf Silicon Graphics Sinclair Sperry Sun
Unisys Univac Varian PCs C/C++ PCs Bas, For etc.

To Start

Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Alliant FX80-1 Scalar 5.9 7.71 2.02 4.53 7.34 For Opt 150 1985 FX80-1 Scalar 5.9 14.9 4.18 6.36 13.9 For IL 150 1985 FX80-1 Vector 5.9 18.1 5.92 19.3 For IL 150 1985 FX80-2 Vector 5.9 29.5 7.90 25.6 For IL 1985 FX80-4 Vector 5.9 54.6 15.0 46.1 For IL 1985 FX80-8 Vector 5.9 92.4 26.6 73.5 For IL 653 1985 FX80-8 90% Vector 5.9 60.8 17.3 35.8 For IL 653 1985 VFX-4 Scalar 4.89 1.04 3.84 3.98 For Opt 1988 VFX-4 Vector 33.1 9.93 38.3 3.98 For Opt 1988 VFX-4 90% Vector 21.0 5.35 20.2 3.98 For Opt 1988 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Amdahl 470/V6 P1 4.64 3.31 For Op2 4200 1975 470/V6-11 P1 5.05 3.58 For Op2 1976 470/V7 P1 34.5 0.20 0.20 Bas 1700 1977 470/V7 P1 34.5 1.85 1.75 Alg Op1 1700 1977 470/V7 P1 34.5 3.70 3.00 PL1 Op2 1700 1977 470/V7 P1 34.5 5.00 3.65 For Op0 1700 1977 470/V7 P1 34.5 6.23 4.41 For Op3 1700 1977 470/V7 P1 34.5 3.70 3.70 Pas DP 1700 1977 470/V8 P1 38.5 7.37 5.08 For Op3 1900 1980 5840 P1 42.9 6.28 4.85 For Op3 2300 1983 5850 P1 42.9 7.96 6.07 For Op3 2700 1983 5860 P1 42.9 9.91 7.45 For Op3 3100 1982 5860+FPU P1 42.9 12.7 10.5 For Op3 1982 5890-190 P1 66.7 29.4 8.56 24.4 24.8 For Op3 2600 1987 5990-350 P1 100 36.3 34.0 For 3800 1988 VP P1 Scalar 143 21.7 7.48 19.0 20.5 For Opt 1984 VP 500 Vector 143 250 103 221 For Opt 4900 1984 VP 500 90% Vector 143 122 45.2 107 For Opt 4900 1984 VP 1100 Vector 143 374 146 345 For Opt 6200 1984 VP 1100 90% Vector 143 143 51.2 127 For Opt 6200 1984 VP 1200 Vector 143 581 264 623 For Opt 8100 1984 VP 1200 90% Vector 143 162 59.6 149 For Opt 8100 1984 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Acorn P19 BBC B 6502 0.0031 BasI 0.75 1982 Apple 19 Apple II 6502 0.0011 BasI 1 1976 Apple II 6502 0.0027 Bas 1 1976 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Burroughs Later Unisys B1726 P2 0.029 0.0057 For 1975 B4700 P2 0.096 0.0064 For 1974 B5500 P3 0.064 0.021 For 1964 B6714 1.2us P3 0.327 0.140 For Op1 1971 B7750 P3 0.612 PL1 OP3 1976 B7750 P3 0.729 0.270 For Op0 1976 B7750 P3 0.804 0.282 For Op1 1976 B7750 P3 0.870 Alg 1976 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date CA LSI-2/20 P7 0.0154 0.0047 For 1974 CCI Power 6/32 10 7.60 2.10 For 110 1985 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Control Data 6600 (Cyber74) P4 10 0.247 Sim 3900 1964 6600 (Cyber74) P4 10 1.96 For Op1 3900 1964 6600 (Cyber74) P4 10 2.09 0.795 For Op2 3900 1964 6400 (Cyber73) P4 10 0.641 0.177 For Op2 2500 1964 7600 P4 36.4 2.25 Alg Op5 5000 1969 7600 P4 36.4 8.68 For Op1 5000 1969 7600 P4 36.4 8.83 3.75 For Op2 5000 1969 7600 P4 36.4 9.63 4.60 For later 5000 1969 7600 P4 36.4 10.3 4.88 For later 5000 1969 Cyber 72 P4 0.558 0.167 For Op2 1975 Cyber 171 P4 0.641 For Op2 1977 Cyber 172 P4 0.800 For Op2 1973 Cyber 173 P4 0.0096 Apl 1973 Cyber 173 P4 0.277 Alg 1973 Cyber 173 P4 0.708 Cor 1973 Cyber 173 P4 0.732 Pas 1973 Cyber 173 P4 0.778 0.309 For 1973 Cyber 173 P4 0.845 Alg later 1973 Cyber 173 P4 1.05 0.366 For Op2 1973 Cyber 174 1 cp P4 1.03 For Op2 1973 Cyber 175 P4 4.96 2.46 For Op2 1973 Cyber 170-720 P4 0.580 0.240 For Op2 750 1979 Cyber 170-720 P4 0.880 0.290 For Op2 750 1979 Cyber 170-730 P4 1.09 0.410 For Op2 1979 Cyber 170-740 P4 2.82 1.17 For Op2 1979 Cyber 170-750 P4 4.98 2.69 For Op2 1979 Cyber 170-760 P4 40 4.67 Alg 1979 Cyber 170-760 P4 40 7.11 3.73 For Op2 1979 Star 100 P4 0.912 0.611 For 1974 Cyber 203 P4 Scalar 12.0 2.51 For Op0 1979 Cyber205 P4 Scalar 50 11.9 4.89 13.2 3.08 For 6000 1981 Cyber205 2pipe Vector 50 161 57.4 186 For 6000 1981 Cyber205 2pipe 90% Vector 50 71.5 27.7 80.6 For 6000 1981 Cyber 930/11 P4 11.8 1.52 0.51 2.00 0.68 For Op2 70 1987 Cyber 960 P4 89 6.26 1.85 8.01 2.49 For Op2 700 1988 4340 R3000 25 15.6 5.33 17.0 12.3 For Op3 42 1990 4680 R6000 66 39.0 32.0 For 150 1990 ETA 10E P4 Scalar 95.2 15.7 6.47 16.7 For 5500 1987 ETA 10E Vector 95.2 335 124 380 For 5500 1987 ETA 10E 90% Vector 95.2 110 44.0 120 For 5500 1987 ETA 10E 32 bit Vector 95.2 378 218 379 For 5500 1987 ETA 10E 32 bit 90% Vector 95.2 114 51.1 120 For 5500 1987 System 17 sfp P11 0.017 0.0075 For 1966 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date CIL System 90 sfp P11 0.021 0.015 For Compaq 80486/DX4 P14 100 12.3 4.10 25.4 C Opt 1994 Pentium Pro P14 200 144 53.8 641 C Opt 1997 CTL Modular 1 P5 0.041 0.022 For 12 1968 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Convex C-1 Scalar 10 6.19 1.89 6.34 4.63 For Op2 495 1984 C-1 Vector 10 37.8 13.8 25.9 For Op2 495 1984 C-1 90% Vector 10 25.0 8.47 19.8 For Op2 495 1984 C120 Scalar 10 6.47 4.83 For Op2 275 1984 C120 Vector 10 39.5 For Op2 275 1984 C210/220 Scalar 25 17.0 4.59 16.7 12.5 For Op2 1987 C210 1 cpu Vector 25 93.6 24.7 80.4 For Op2 635 1987 C210 1 cpu 90% Vector 25 64.5 17.2 58.2 For Op2 635 1987 C220 2 cpu Vector 25 162 44.1 141 For Op3 870 1987 C220 2 cpu 90% Vector 25 87.4 23.7 80.8 For Op3 870 1987 C220 2 cpu Vector 25 180 54.7 143 For IL 870 1987 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Concurrent Ex Interdata Ex Perkin Elmer 6/16 swfp P1 0.0029 0.0006 For 7/16 hwfp P1 0.085 For 1973 8/16 hwfp P1 0.128 0.101 For 1976 7/32 hwfp P1 0.167 0.133 For 1974 8/32 hwfp P1 0.571 0.339 For No 45 1975 3210 P1 4 0.538 0.430 For 42 3220 P1 0.536 0.432 For Opt 3252 P1 3.8 2.77 1.56 For Op2 171 1985 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Cray Cray 1A P4 Scalar 80 12.4 1.30 For 7000 1978 Cray 1A P4 Scalar 80 16.2 1.30 For later 7000 1978 Cray 1S P4 Scalar 80 16.1 For 1980 Cray 1S Vector 80 98.0 For 1980 X-MP1 P4 Scalar 118 30.3 11.0 34.7 2.70 For 5000 1982 X-MP1 Vector 118 313 151 175 For 5000 1982 X-MP1 90% Vector 118 162 66.4 125 For 5000 1982 Y-MP1 P4 Scalar 154 31.0 12.0 32.6 2.8 For 5000 1987 Y-MP1 Vector 154 449 195 314 For 5000 1987 Y-MP1 90% Vector 154 191 77.2 169 For 5000 1987 Cray 2/1 P4 Scalar 244 25.8 2.0 For 1984 Cray 2/1 Vector 244 425 For 1984 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Digital KA 10 P6 0.194 0.056 For 1967 KI 10 P6 0.500 0.250 For 1972 KL 10 P6 1.22 0.638 For Opt 1976 1090 P6 0.388 0.347 Alg 496 1971 1090 P6 7.5 1.20 0.632 For 496 1971 2020 P6 0.264 0.102 For 1976 2040B P6 0.536 0.314 For 1976 2050B P6 0.465 0.417 Alg 1976 2050B P6 1.45 0.760 For 1976 PDP 8I P7 0.0029 For 1968 PDP 8E EAE P7 0.0051 For 1970 PDP 11/03 P7 0.0027 Bas 1975 PDP 11/03 P7 0.0267 0.0029 For 1975 PDP 11/10 P7 0.0129 0.0032 For 1970 PDP 11/20 EAE P7 0.0188 0.0054 For 9 1970 PDP 11/34 FP P7 0.204 0.157 For 45 1976 PDP 11/34 NoF P7 0.0057 Bas 1976 PDP 11/34 NoF P7 0.029 0.0069 For 1976 PDP 11/40 EF P7 0.0655 0.0073 For 1973 PDP 11/45 FPP P7 0.189 0.075 For 15 1972 PDP 11/55 FP P7 0.714 0.552 For 61 1977 PDP 11/60 FPP P7 0.118 0.039 For 1977 PDP 11/60 FP P7 0.591 0.435 For 1977 PDP 11/70 FP P7 0.532 0.415 For 77 1975 PDP 12 FPP P7 0.0345 For 1969 VAX 11/780 FPA P8 5 0.494 Pas 145 1977 VAX 11/780 FPA P8 5 1.18 0.760 For Opt 145 1977 VAX 11/780 FPA P8 5 1.02 0.25 1.00 For No 145 1977 VAX 11/780 noF P8 5 0.740 0.253 For Opt 145 1977 VAX 11/730 P8 1.23 0.254 0.156 For Opt 21 1982 VAX 11/750 P8 0.680 0.20 0.63 0.510 For Opt 47 1980 VAX 11/785 P8 7.41 1.65 0.46 1.73 1.07 For Opt 195 1984 MicroVAX I P8 1.23 0.248 0.108 For Opt 14 1983 MicroVAX II P8 0.925 0.681 For Opt 20 1985 MicroVAX 2000 P8 0.800 0.18 0.97 0.560 For Opt 15 1987 VAXStn 3100 P8 CVAX 11 2.63 0.67 3.03 1.74 For Opt 8 1989 MicroVAX 3100 P8 CVAX 11 2.85 1.76 For Opt 9 1989 MicroVAX 3400 P8 CVAX 10 2.25 0.60 2.70 1.50 For Opt 46 1989 MicroVAX 3600 P8 CVAX 11 2.73 0.70 3.11 1.71 For Opt 100 1987 MicroVAX 3900 P8 CVAX 16.7 4.42 2.87 For Opt 120 1989 VAX 6310 P8 16.7 3.73 0.91 4.09 2.57 For Opt 155 1988 VAX 6410 P8 36 8.32 2.15 9.41 5.88 For Opt 205 1989 VAX 8250 P8 1.31 0.35 1.51 0.890 For Opt 90 1987 VAX 8350 1 cp P8 1.34 0.36 1.53 0.770 For Opt 124 1987 VAX 8550 P8 22.2 5.75 1.50 6.91 3.89 For Opt 364 1986 VAX 8600 FPA P8 12.5 4.15 1.33 4.21 2.54 For Opt 350 1985 VAX 8600 FPA P8 12.5 3.89 1.06 3.71 2.43 For No 350 1985 VAX 8600 FPA P8 12.5 2.09 Bas 350 1985 VAX 8600 FPA P8 12.5 3.79 2.57 Pas 350 1985 VAX 8600 FPA P8 12.5 4.17 2.55 PL1 350 1985 VAX 8650 P8 22.2 6.15 1.97 5.92 4.01 For Opt 400 1985 VAX 8650 P8 22.2 5.77 1.44 5.27 3.87 For No 400 1985 VAX 8700 P8 22.2 5.99 1.50 6.96 3.73 For Opt 433 1986 VAX 8700 P8 22.2 4.98 1.16 5.81 3.41 For No 433 1986 VAX 4000-300 P8 35.7 8.93 6.25 For Opt 75 1990 DStn 3100 R2000 16.7 13.0 10.3 For xxx 22 1988 DStn 5400 R3000 20.0 17.2 For xxx 49 1989 PC AXP 150 A21064 150 92 92 For xxx 6.8 1993 2000/300 A21064 150 122 109 For xxx 13 1993 2100/500 A21064 190 89.0 75.0 For xxx 1993 3000/400 A21064 133 47.0 43.5 For xxx 17.5 1993 3000/400 A21064 133 99.0 82.0 For xxx 17.5 1993 3000/600 A21064 175 144 129 For xxx 20 1993 3000/600 A21064 175 140 121 For xxx 20 1993 3000/800 A21064 200 155 129 For xxx 36 1993 4000/710 A21064 190 156 140 For xxx 62 1993 4000/710 A21064 190 150 130 For xxx 62 1993 3000/800 A21064 200 165 148 For xxx 36 1993 7000/610 A21064 200 165 147 For xxx 168 1993 1000/4/200 A21064 200 189 178 For xxx 1994 2000/4/200 A21064 190 156 140 For xxx 1994 ASTN 200/4/166 A21064A 166 154 136 For xxx 1995 3000/700 A21064A 225 250 200 For xxx 1994 3000/700 A21064A 225 214 197 For xxx 1994 ASTN 255/233 A21064A 233 217 239 For xxx 6.6 1996 2000/4/233 A21064A 233 256 226 For xxx 29 1995 400/4/233 A21064A 233 268 249 For xxx 1996 1000/4/266 A21064A 266 303 282 For xxx 16 1995 2000/4/275 A21064A 275 259 240 For xxx 46 1995 3000/900 A21064A 275 333 250 For xxx 1994 3000/900 A21064A 275 249 227 For xxx 1994 7000/710 A21064A 275 258 227 For xxx 1994 ASTN 255/300 A21064A 300 279 For xxx 12.4 1996 2000/5/250 A21164 250 434 391 For xxx 29 1996 ASTN 500/266 A21164 266 351 453 For xxx 18 1996 ASTN 600/5/266 A21164 266 351 434 For xxx 20 1995 2100/5/300 A21164 300 531 497 For xxx 39 1996 8200/5/300 A21164 300 528 476 For xxx 100 1996 ASTN 500/333 A21164 333 436 569 For xxx 23 1996 ASTN 600/5/333 A21164 333 477 569 For xxx 36 1996 4000/5/400 A21164 400 685 685 For xxx 1996 AlphaPC A21164 533 540 146 2179 C++ Opt From DEC's benchmark results, may be over optimised xxx To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Data General Nova 3/12 P1 0.0026 Alg 1975 Nova 3/12 P1 0.0029 Bas 1975 Nova 3/12 P1 0.0141 0.0038 For 1975 Nova 840 swfp P1 0.0163 For 1970 Nova 840 hwfp P1 0.068 0.058 For 1970 Eclipse s/140S P1 0.0200 0.0140 For 1974 Eclipse s/140F P1 0.450 0.38 For 1974 Eclipse s/200 P1 0.520 0.417 For 17 1975 Eclipse m/600 P1 1.07 0.512 For MV/4000 P1 5 0.700 For 63 1984 MV/8000 P1 4.5 1.50 For 125 1984 MV/10000 P1 7.1 2.80 For 211 1984 MV/20000-1 P1 11.8 5.71 4.17 For 271 1986 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Digico Micro 16P swfp 0.0028 Bas 9 1970 EAI 8400 P9 0.195 0.040 For 1965 Elxsi M6410 20 8.0 For 247 1984 Ferranti Argus 700G swf 0.0100 Cor 1963 FPS M64/30 6.0 5.80 For 360 1981 M64/60 19 18.0 For 1000 1981 M64/60 19 24.0 For 1000 1981 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Fujitsu VP-2400/40 P1 Scalar 312 71.7 25.4 64.8 56.8 For Opt 1991 VP-2400/40 4VU Vector 312 1828 794 1566 For Opt 1991 VP-2400/40 4VU 90% Vector 312 530 197 472 For Opt 1991 VP-2400/40 P1 Scalar 312 174 51.2 130 150 For IL 1991 VP-2400/40 4VU Vector 312 2107 986 1662 For IL 1991 VP-2400/40 4VU 90% Vector 312 998 349 763 For IL 1991 GA SPC 16-50 0.0217 0.0042 For 1972 SPC 16-65 0.500 0.307 For 1972 16/440 no APU P8 0.059 0.017 For 1975 16/440 APU P8 0.222 0.174 For 1975 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date GEC 4060 P1 0.182 For 1979 4070 P1 0.037 Bas 38 1976 4070 P1 0.242 0.132 For 38 1976 4080 P1 0.213 Cor 43 1973 4080 P1 0.264 0.141 For 43 1973 4082 P1 0.250 0.139 For 54 1977 4190 FMU P1 0.640 0.476 For 1981 6330 P1 1.35 0.780 For Elliott 903C 0.00087 Alg 1963 Elliott 905 0.0044 Alg 1963 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Gould Ex SEL Later Encore 32/27 FPS P1 6.7 0.664 0.464 For 55 32/35 900ns P1 0.424 0.198 For 32/55&57 600ns P1 0.510 0.217 For 32/55&57 900ns P1 0.420 0.200 For 32/75&77 600fp P1 0.589 0.385 For 32/75&77 600ns P1 0.510 0.217 For 32/75&77 900ns P1 0.428 0.191 For 32/7760 P1 0.0010 Bas 32/7760 P1 0.450 0.209 For 32/8750 hwfp P1 13.3 3.87 2.34 For 230 1981 NP1-110 19.2 10.0 For 375 1987 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Harris S100 SAU P10 0.547 0.506 For Opt 1975 S500 SAU P10 0.779 0.730 For S800 SAU P10 1.45 1.370 For H60 P10 3.3 0.880 0.830 For 1984 H600 P10 3.3 0.880 0.830 For 39 1980 H700 P10 3.3 0.880 0.830 For 50 1980 H800 P10 5.6 1.58 1.490 For 139 1980 H1000 P10 13.3 4.81 4.070 For 250 1984 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Honeywell Later Bull H316 HSO P11 0.0172 0.0056 For 1970 H716 P11 0.0420 0.0110 For 8 1972 6/23 N P1 0.0035 0.0012 For 1975 6/33 N P1 0.0055 0.0025 For 1975 6/43 SIP P1 0.241 0.181 For 1975 6/53 SIP P1 0.323 0.247 For 1975 GE 635 P12 0.123 Alg 1964 GE 635 P12 0.308 0.185 For Opz 1964 66/05P P12 0.134 0.101 For 1976 66/10P P12 0.182 0.138 For 1976 66/20P P12 0.453 0.375 For 1976 66/40P P12 0.618 0.487 For 1976 66/60P P12 0.348 Alg 1976 66/60P P12 0.754 0.572 For 1976 6040 P12 0.229 0.141 For 540 1972 6060 P12 0.398 0.264 For 1000 1972 6080 P12 0.780 0.468 For 1300 1972 68DPS P12 0.712 0.527 For 1979 66DPS300 P12 0.948 0.680 For 1979 DPS 4 1.0 P1 0.0182 0.0159 For 1980 DPS 4 2.3 P1 0.0294 0.0233 For 1980 DPS 6/37 P1 0.290 0.187 For 1978 DPS 6/67 P1 1.02 0.698 For 1978 DPS 8/70M P12 1.32 0.887 For 1980 DPS 8/70 P12 0.860 0.320 1.19 0.716 For Opt 900 1980 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date HP 2100A EAU FPU P11 0.050 Alg 1972 2100A EAU FPU P11 0.0666 0.0024 For 1972 2100S FFP P11 0.0760 0.047 For 21MFX P11 0.417 0.192 For 3000 P13 0.139 0.0085 For 210 1973 3000/30 P7 0.105 0.038 For 3000/33 P7 0.100 0.037 For 3000-III P7 0.0084 BasI 3000-III P7 0.190 Bas 3000-III P7 0.215 0.081 For 3000/40/44 P7 0.328 0.115 For 1000E P7 0.177 0.091 For 1000F P7 0.428 0.215 For DN10000-1 Prism 18.2 14.3 3.37 9.44 14.1 For Opt 70 1988 9000/340 68030 16.7 1.70 1.50 For xxx 9 1989 9000/825S PA1.1 12.5 3.60 2.50 For xxx 42 1988 9000/832S PA1.1 14.9 7.50 5.40 For xxx 1990 9000/835SE PA1.1 14.9 9.00 6.60 For xxx 99 1988 9000/850S PA1.1 13.7 8.10 6.10 For xxx 220 1987 9000/855S PA1.1 27.5 11.6 8.50 For xxx 241 1988 9000/870/100 PA1.1 50.0 32.8 25.8 For xxx 1990 9000/735 PA7100 99 82.0 88.3 For xxx 1992 Pentium P14 166 112 51.6 320 C++ Opt 1996 Pentium II P14 233 169 62.7 746 C++ Opt 1997 Benchmark results from unknown version, may be over optimised xxx To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date IBM 360/30 P1 0.0155 0.0077 For 170 1965 360/50 P1 0.045 PL1 840 1965 360/50 P1 0.145 0.094 For Op2 840 1965 360/65 P1 0.072 0.065 Alg 2100 1965 360/65 P1 0.430 0.321 For 2100 1965 360/65 P1 0.443 0.336 Pl1 Opt 2100 1965 360/65 P1 0.521 0.421 For Op2 2100 1965 360/67 P1 0.320 0.278 For 1966 360/67 P1 0.603 0.456 For 1966 360/195 P1 3.03 3.03 For No 1971 360/195 P1 4.82 4.77 For Op2 1971 360/195 P1 5.00 4.76 For later 1971 370/138 P1 0.146 0.092 For 370/145 P1 0.171 0.103 For 700 1971 370/148 P1 0.257 0.157 For Op2 370/155 P1 0.465 For Op2 1200 1971 370/158-1 P1 0.611 For 800 1973 370/158-1 P1 0.767 0.559 For Op2 800 1973 370/158-3 P1 0.826 0.582 For Op2 1000 1976 370/165 P1 1.85 For 3000 1971 370/165 P1 2.04 For Op2 3000 1971 370/165 P1 2.21 For Op3 3000 1971 370/168 P1 2.05 1.90 For 3000 1973 370/168 P1 2.44 2.08 For Op2 3000 1973 370/168-3 HSM P1 3.04 For Op2 1976 3031 P1 0.946 0.644 For Op2 700 1978 3032 P1 2.43 2.06 For Op2 1300 1978 3033A P1 5.68 4.70 For Op2 2400 1978 3033N P1 5.08 4.62 For Op2 1300 1980 3033U P1 5.64 4.55 For Op2 4331-1 P1 1.1 0.110 Bas 4331-1 P1 1.1 0.160 0.060 For Op2 4331-2 P1 1.1 0.410 0.165 For Op2 112 1981 4341-1 P1 6.7 0.990 0.770 For Op2 205 1981 4341-2 P1 8.3 1.28 0.990 For Op2 350 1981 4361-5 P1 10 1.52 0.929 For Op2 200 1984 4381-2 P1 14.7 2.92 For Opt 500 1984 3081D 1 CPU P1 6.58 5.92 For Op2 2800 1981 3081G 1 CPU P1 38.5 6.09 5.35 For Op2 2500 1982 3081K 1 CPU P1 38.5 8.20 7.08 For Op2 3200 1982 3083E P1 38.5 4.54 4.10 For Op2 1200 1983 3084Q 1 cpu P1 38.5 8.14 6.97 For Op2 8700 1983 3084Q 1 cpu P1 38.5 7.62 6.66 For Op2 1983 3084Q 1 cpu P1 38.5 8.18 6.96 For Op3 1983 3083BX P1 41.7 7.38 2.13 8.71 6.33 For Op3 1500 1984 3090-150 VP P1 Scalar 54 12.1 4.87 11.8 11.3 For Op3 1986 3090-150 VP Vector 54 59.8 17.3 86.1 For Op3 1986 3090-150 VP 90% Vector 54 42.9 13.8 52.8 For Op3 1986 3090-150E P1 56 12.3 4.99 12.2 11.1 For Op2 1700 1987 3090-150E P1 56 11.1 4.44 9.47 10.1 For Op1 1700 1987 3090-180 P1 54 19.2 17.0 For Op3 2600 1986 PC RT 6150 5.9 0.30 For 11 1986 PC RT B25 + FP 10 1.60 For 17 1988 RS/6000 530 POWER 25 18.8 For 41 1990 RS/6000 350 POWER 41.6 40.7 44.7 For 27 1992 RS/6000 580 POWER 62.5 57.3 64.7 For 1992 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date ICL EE KDF9 P15 0.0024 AlgI 1963 EE KDF9 P15 0.062 Alg Opt 1963 EE KDF9 P15 0.080 0.0077 For 1963 4120 0.0104 For 38 1965 4130 0.0532 Alg 1966 4130 0.0752 For 1966 1903T P16 0.133 0.0165 For Tr0 288 1973 1904A P16 0.091 0.019 For Tr1 342 1969 1904A P16 0.125 Alg Tr0 342 1969 1904A P16 0.195 0.0210 For Tr0 342 1969 1904S P16 0.222 0.0280 For Tr0 558 1973 1906A P16 0.282 0.187 For Tr0 990 1970 1906A P16 0.379 Alg Tr0 990 1970 1906A P16 0.585 For Tr0 990 1970 1906A P16 0.661 Pas 990 1970 1906S P16 0.800 0.122 For Tr0 1973 1906S HEP P16 0.800 0.404 For Tr0 1973 1905F P16 0.0960 0.012 For Tr0 288 1968 2903 SCF P16 0.0238 0.0036 For 1973 System 4/50 P1 0.0551 0.027 For 216 1967 System 4/70 P1 0.280 0.209 For 391 1968 System 4/72 P1 0.300 0.225 For 1971 System 4/75 P1 0.068 0.068 For 1968 System 4/75 P1 0.235 0.211 Alg 1968 System 4/75 P1 0.267 0.200 For 1968 2950 P16 0.058 0.011 For 540 1978 2960 P16 0.208 0.032 For Tr0 1350 1975 2960 P1 0.398 0.221 For 1975 2970 P1 0.608 0.500 For 1975 2970 P1 0.637 0.539 For 1975 2970 P1 0.49 0.490 Alg DP 1975 2972 P1 2.11 1.61 For 2976 P1 2.26 1.82 For 1976 2980 P1 2.45 1.91 For 1976 2980 FMDU P1 3.50 2.63 For 1976 2980 FMDU P1 1.74 1.74 Alg DP 1976 2982 FMDU P1 3.57 2.87 For 2956/20 P16 0.217 0.033 For Tr0 2966 P1 12.5 0.917 0.476 For 2966 PEF P1 12.5 1.37 0.773 For 2966 P16 12.5 0.314 0.0673 For 639 2977 P1 3.36 2.78 For 39/80 P1 40 9.33 2.26 9.16 5.81 For Op3 1600 1985 39/80 P1 40 14.5 3.23 12.6 8.00 For Op4 1600 1985 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Modcomp II 0.237 0.178 For 13 1972 IV 0.550 0.247 For 18 1973 Classic P13 0.941 0.750 For NCR 8570 P1 0.093 0.061 For 8580 P1 0.110 0.068 For Norsk Data 10/S 0.153 0.0019 For 1974 50 P7 0.531 0.451 For 1975 NEC SX-3/11-12 P1 Scalar 345 42.9 17.0 52.5 40.3 For Opt 1991 SX-3/11 Vector 345 1106 441 908 For Opt 7300 1991 SX-3/11 90% Vector 345 318 126 345 For Opt 7300 1991 SX-3/12 Vector 345 1667 753 1232 For Opt 1991 SX-3/12 90% Vector 345 348 141 379 For Opt 1991 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Prime 300 fpp P17 0.120 0.074 For 23 1973 350 P17 0.213 For V 400 P17 0.427 For R 71 1976 500 P17 0.537 0.412 For R 1977 550 P17 0.435 0.248 For R 1979 650 P17 0.523 0.423 For V 1979 650 P17 0.541 0.426 For R 1979 750 P17 0.499 Alg V 1979 750 P17 0.750 0.550 PL1 Opt 1979 750 P17 0.800 Pas 1979 750 P17 1.00 0.767 For R 1979 750 P17 0.150 Bas V 1979 850 P17 1.98 For 1981 250 Mk 1 P17 0.509 0.265 For 1980 2250 P17 6.25 0.0220 BasI 40 1982 2250 P17 6.25 0.137 Bas 40 1982 2250 P17 6.25 0.479 0.245 For 40 1982 9650 P17 6.25 0.735 For 145 1984 9750 P17 10 1.61 1.21 For 250 1984 9950 P17 12.5 2.20 1.73 For 392 1984 9955 P17 12.5 2.59 2.13 For 360 1985 9955 P17 12.5 2.46 For No 1986 9955 P17 12.5 3.75 For Op4 1986 9955 P17 12.5 3.93 3.45 For OP6 1986 9955II P17 15.6 3.10 0.82 3.36 2.48 For Opt 356 1986 6350 P17 22.7 5.32 1.78 4.94 4.57 For No 549 1987 6350 P17 22.7 10.2 2.56 9.79 8.03 For Opt 1987 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Pyramid 9820 1 cpu 10 3.26 0.77 4.59 1.88 For Opt 300 1987 Rank Xerox Sigma 5 P1 0.298 0.225 For 1967 Sigma 6 P1 0.038 0.036 Alg 1970 Sigma 6 P1 0.331 0.260 For 1970 Sigma 7 P1 0.340 0.282 For 1966 Sigma 9 P1 0.483 For 1971 530 hwfp P1 0.043 For 1973 560 P1 0.313 0.232 For 1974 SDS 9300 0.138 0.018 For 1963 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Silicon Graphics Indigo R4000 100 71.0 59.0 For xxx 1992 Indigo2 R4400 150 106 90.0 For xxx 1993 ONYX R8000 75 57.8 12.4 98.2 C Opt 1993 Challenge S R4400 200 77.2 24.9 134 C Opt 1993 Indy R5000 150 83.2 24.9 159 C Opt 1993 SGI 02 R10000 175 122 44.4 189 C Opt 1997 SGI 02 R10000 175 201 42.8 260 C Opt 1997 Benchmark results from unknown version, may be over optimised xxx Sinclair P20 ZX81 Z80A 0.00052 Bas 0.12 1981 Spectrum Z80A 3.54 0.00052 Bas 0.23 1982 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Siemens/Nixdorf VP200-EX 143 46.0 46.0 For xxx Sun 3/160 68020 16.7 2.40 1.90 For 20 1985 3/260 68020 25 3.60 2.70 For 29 1986 4/110 SPARC 14.3 4.20 2.90 For 19 1988 4/260 SPARC 16.7 5.56 1.06 5.11 3.81 For 40 1987 4/260 SPARC 16.7 8.50 6.80 For xxx 40 1987 SStn 1 SPARC 20 8.00 5.60 For xxx 9 1990 SStn 300 SPARC 25 12.3 9.90 For xxx 29 1990 SSvr 490 SPARC 33 17.4 14.0 For xxx 100 1990 SStn 20 RT HSPARC 100 49.7 19.8 81.1 45.8 C Opt 1994 Benchmark results from unknown version, may be over optimised xxx To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Unisys Ex Univac Ex Sperry 1106U P18 0.535 0.313 For 243 1970 1108 P18 0.870 0.475 For 1964 1110 P18 0.464 Alg 1972 1110 P18 0.482 PL1 1972 1110 P18 1.61 1.12 For 1972 1100/20 P18 0.811 0.470 For 677 1975 1100/80 P18 2.35 1.35 For 1978 1100/61 C1 P18 0.617 0.267 For 1979 1100/61 E1/H1 P18 8.6 1.27 0.430 For 693 1979 To Index Supplier or CPU and Clock VAX MWIPS Cost Intr System Precision MHz MWIPS MFLOPS MIPS DP Lang Opt $K Date Varian Then Unisys 620/L-100 P19 0.0183 0.00036 For 4 1975 V72 hwfp P19 0.357 0.200 For 1972 V73 hwfp P19 0.208 For 14 1972 V76 P19 0.744 0.431 For 17 1976 V76 cache P19 1.04 0.505 For 1976 To Index PCs (Precision P14) via the same optimised Watcom compiled C/C++ code Note: results are proportional to MHz for a particular type of CPU. See Whetstone Results.htm for details of speeds obtained via the different test loops. CPU Clock VAX MWIPS Intr MHz MWIPS MFLOPS MIPS DP Date 8086 1978 8088 1979 80286 1982 80386 1985 80486 1989 AM386/387 40 5.68 0.820 7.40 5.20 1991 80486DX2 66 15.3 3.48 29.0 15.5 1992 AMD5X86 100 25.0 5.73 44.4 1995 Winchip C6 200 40.6 11.8 103 1997 Pentium 75 48.2 12.2 71.2 49.5 1994 Cyr P150 120 53.5 10.7 96.1 53.7 1996 IBMC6x86 150 66.1 13.2 118 66.2 1996 Pentium 100 66.2 16.8 97.8 66.2 1994 Pentium 120 79.5 20.2 118 81.6 1995 CyrPR233M 188 88.0 18.2 159 88.7 1997 Pentium 133 88.3 22.4 130 90.8 1995 CyrMII300 233 109 22.6 198 113 1998 Pent MMX 166 112 28.1 174 115 1997 Pentium 200 132 33.7 196 136 1996 Pent MMX 200 134 33.7 209 137 1997 AMD K6 200 124 28.6 197 121 1997 PentiumPro 200 161 41.5 315 167 1995 AMD K6 266 167 39.7 260 162 1998 PentiumPro 233 189 48.3 368 195 1997 AMD K6 300 191 45.3 297 184 1998 Pentium II 233 191 48.3 371 198 1997 Pentium II 266 218 55.3 422 226 1997 Celeron A 300 245 62.5 476 252 1998 Pentium II 300 245 62.1 474 254 1998 AMD K63 450 286 67.9 444 275 1999 Pentium II 350 286 72.7 555 297 1998 AMD K62 500 309 73.3 481 297 1999 Pentium III 450 367 93.5 714 379 1999 Pentium II 450 368 93.3 714 382 1998 Athlon 500 381 81.7 789 382 1999 Celeron 466 382 96.6 740 396 1999 Pentium III 550 448 114 870 463 1999 Duron 600 463 99.4 957 464 2000 Duron 700 541 116 1119 541 2000 Athlon 700 544 117 1130 545 1999 Atom 1600 554 152 1518 586 2008 Pentium III 700 572 145 1102 593 1999 Celeron 733 598 151 1155 622 2001 Pentium 4 1700 603 152 798 621 2001 Pentium 4 1800 639 161 845 639 2001 Pentium 4 1900 671 168 868 670 2001 Pentium 4 2052 726 183 959 725 2002 Athlon TBD 1000 769 165 1590 770 2000 Duron 1000 772 165 1598 2002 P4 Xeon 2200 773 195 996 805 2002 Pent III 1000 816 207 1580 843 2002 P3 Tualatin 1200 972 248 1880 1006 2002 Pentium 4E 3000 1028 233 1882 1057 2004 Celeron M 1295 1034 269 2025 1086 2004 Pentium 4 3066 1119 274 1516 1156 2003 Athlon 4 1533 1193 253 2458 1194 2002 Pentium 4 3382 1233 302 1668 1282 2003 Pentium 4 3678 1342 327 1823 1394 2003 Athlon 4 1789 1389 295 2862 1391 2002 Athlon4B 1800 1397 297 2673 1448 2003 Athlon 4 1865 1450 308 2991 1451 2002 Turion 64 M 1900 1506 317 3220 1499 2007 Pentium M 1862 1538 392 3377 1620 2004 Core 2 Duo M 1830 1557 381 3259 1626 2008 Opteron 1991 1580 332 3369 1572 2003 Celeron 550 M 2000 1688 417 3529 1753 2008 Athlon 64 2150 1720 361 3651 1701 2003 Athlon 64 1CP 2211 1766 371 3751 1753 2005 Athlon 4 2338 1805 385 3453 1890 2004 Core 2 Duo 1CP 2400 2057 508 4319 2151 2006 Phenom II 1CP 3000 2145 443 5004 2227 2009 Core i7 930 t2 2800 2496 589 5146 2618 2010 Core i7 860 t1 2800 2790 667 5239 2935 2009 Core i7 4820K t3 3700 3063 733 7270 3257 2013 Core i7 4820K t4 3900 3124 755 7351 3312 2013 t1 Rated as 2800 MHz but running mainly at 3460 MHz using Turbo Boost t2 Rated as 2800 MHz but running mainly at 3066 MHz using Turbo Boost t3 Rated as 3700 MHz but running mainly at 3900 MHz using Turbo Boost t4 As t3 but Performance not Balanced Power Setting for 3900 MHz M Mobile To Index PCs via different language interpreters and compilers - MWIPS Basic Int - mainly QBasic 1996 Basic Com - compiler 1982 Basic VB4 - Visual Basic 1996 Fort Pro - MS compiler 1984 Fort MS5 - MS compiler 1987 C Wat - Watcom compiler 1996 C MS6 - MS compiler 2000+ HTML Java - MS Visual J++ 1996 C M32 - MS compiler 2005 M64 - MS 64 bit compiler 2005 Nop - No optimisation Opt Full optimisation SSE - Opt SSE instructions D Dual Core & HT version CPU Clock Basic Basic Basic Fort Fort C Nop HTML C Opt C Opt C SSE D SSE D SSE MHz Int Com VB4 Pro MS5 Wat Java Wat MS6 M32 M32 M64 8088/87 4.8 0.0015 0.0104 80286/287 6 0.0040 0.0320 0.0852 AM386/387 40 0.0640 0.514 1.03 1.81 2.52 3.07 5.68 80486DX2 66 0.125 1.39 3.42 5.91 7.43 10.0 10.4 15.3 12.0 Pentium 100 0.349 3.81 7.92 15.7 21.0 30.1 38.7 66.2 60.4 Pentium MMX 200 0.710 7.90 13.6 30.0 44.2 52.3 80.6 134 123 Pentium Pro 200 0.810 4.83 16.7 19.0 27.3 81.7 109 161 158 Celeron/PIII 450 1.29 11.1 37.9 44.7 75.2 182 269 367 342 Atom M HT 1600 1.76 9.78 90.9 43.9 47.6 382 190 554 556 833 1546 Athlon/Duron 1000 2.48 32.3 80.6 73.3 130 487 542 772 Pentium 4 1900 4.01 21.3 102 29.3 92.2 246 487 671 727 901 937 Pentium 4E HT 3000 5.54 25.8 112 51.3 131 473 567 1028 1169 1505 2605 Pentium/Cel M 1295 6.07 35.0 164 98.4 220 542 613 1034 1077 1298 1289 Turion 64 %# 1900 9.74 60.0 147 136 250 874 1010 1506 1680 1973 3830 Core 2 Duo M 1830 7.31 43.7 288 107 262 825 1133 1557 1606 1819 3266 Athlon 4 2088 9.90 62.5 167 154 279 1083 1069 1620 1788 2133 2140 Celeron 550 M 2000 7.93 47.5 312 116 285 884 1198 1688 1735 1922 1923 Athlon 64 *# 2211 11.5 80.3 174 160 296 1081 1186 1766 1736 2313 4506 4983 Core 2 Duo @# 2400 9.70 58.8 379 141 347 1093 1534 2057 2125 2403 4719 5661 Phenom II +# 3000 18.2 121 396 217 413 1587 1745 2145 2396 3257 6353 6892 Core i7 t2 +# tttt 12.4 64.8 446 183 425 1343 2368 2496 2577 3206 6405 8142 Core i7 t3 ~# tttt 14.4 87.6 631 200 477 1744 3122 3124 3460 4044 7991 11490 * Dual core CPU, Windows XP x64 (16 bit programs via CD DOS boot) # 1 CPU, except last two columns which are for 2 CPUs @ Dual Core CPU, 64 bit Vista (16 bit programs via CD DOS boot) % Dual Core CPU, 32 bit Vista + Quad core CPU, 64 bit Windows 7 (16 bit programs via flash drive DOS boot) ~ Quad core CPU, 64 bit Windows 8 (16 bit programs via flash drive DOS boot) HT Hyperthreading available to run more than 1 thread at the same time t2 Rated as 2800 MHz but running mainly at 3066 MHz using Turbo Boost t3 Rated as 3700 MHz but running mainly at 3900 MHz using Turbo Boost One To Eight Thread MP Results CPU Clock CPUs Threads 32 Bits Threads 64 Bits MHz /HTs 1 2 4 6 8 1 2 4 6 8 Athlon 64 * 2211 2/0 2220 4431 4961 4935 5077 2625 5240 6043 5927 5769 Core 2 Duo @ 2400 2/0 2306 4512 4645 4667 4704 2901 5704 5886 5932 5920 Phenom II + 3000 4/0 3115 6229 12414 14101 13032 3725 7452 14794 16830 16287 Core i7 t2 + tttt 4/4 3115 6228 12043 17149 21690 4227 8451 16587 23156 29211 Core i7 t3 ~ tttt 4/4 3807 7319 14616 20608 26301 5750 10927 22135 30849 39113 Efficiency As a guide to efficiency, the following show %MWIPS/MHz or the speed rating if all CPUs were running at 100 MHz. CPU Original Basic Basic Basic Fort Fort C Nop HTML C Opt C Opt C SSE D SSE D SSE MHz Int Com VB4 Pro MS5 Wat Java Wat MS6 M32 M32 M64 8088/87 4.8 0.03 0.2 80286/287 6 0.07 0.5 1.4 AM386/387 40 0.16 1.3 2.6 4.5 6.3 8 14 80486DX2 66 0.19 2.1 5.2 9.0 11.3 15 16 23 18 Pentium 100 0.35 3.8 7.9 15.7 21.0 30 39 66 60 Pentium MMX 200 0.36 4.0 6.8 15.0 22.1 26 40 67 62 Pentium Pro 200 0.41 2.4 8.4 9.5 13.7 41 55 81 79 Celeron/PIII 450 0.29 2.5 8.4 9.9 16.7 40 60 82 76 Atom M 1600 0.11 0.6 5.7 2.7 3.0 24 12 35 35 52 97 Athlon/Duron 1000 0.25 3.2 8.1 7.3 13.0 49 54 77 Pentium 4 1900 0.21 1.1 5.4 1.5 4.9 13 26 35 38 47 49 Pentium 4E HT 3000 0.18 0.9 3.7 1.7 4.4 16 19 34 39 50 87 Pentium/Cel M 1295 0.47 2.7 12.7 7.6 17.0 42 47 80 83 100 100 Turion 64 %# 1900 0.51 3.2 7.7 7.2 13.2 46 53 79 88 104 202 Core 2 Duo M 1830 0.40 2.4 15.7 5.8 14.3 45 62 85 88 99 178 Athlon 4 2088 0.47 3.0 8.0 7.4 13.4 52 51 78 86 102 102 Celeron 550 M 2000 0.40 2.4 15.6 5.8 14.3 44 60 84 87 96 96 Athlon 64 *# 2211 0.52 3.6 7.9 7.2 13.4 49 54 80 79 105 204 225 Core 2 Duo @# 2400 0.40 2.5 15.8 5.9 14.5 46 64 86 89 100 197 236 Phenom II +# 3000 0.61 4.0 13.2 7.2 13.7 53 58 72 80 108 212 230 Core i7 t2 +# 3066 0.40 2.1 14.5 6.0 13.9 44 77 81 84 105 209 266 Core i7 t3 ~# 3900 0.37 2.2 16.2 5.1 12.2 45 80 80 89 104 205 295 t2 Rated as 2800 MHz but running mainly at 3066 MHz using Turbo Boost t3 Rated as 3700 MHz but running mainly at 3900 MHz using Turbo Boost Core i7 t2 +# 2800 0.44 2.3 15.9 6.5 15.2 48 85 89 92 115 229 291 Core i7 t3 ~# 3700 0.39 2.4 16.9 5.4 12.9 47 84 84 94 109 216 311 One To Eight Threads MP %MWIPS/MHz CPU Clock CPUs Threads 32 Bits Threads 64 Bits MHz /HTs 1 2 4 6 8 1 2 4 6 8 Athlon 64 * 2211 2/0 100 200 224 223 230 119 237 273 268 261 Core 2 Duo @ 2400 2/0 96 188 194 194 196 121 238 245 247 247 Phenom II + 3000 4/0 104 208 414 470 434 124 248 493 561 543 Core i7 t2 + 3066 4/4 102 203 393 559 707 138 276 541 755 953 Core i7 t3 ~ 3900 4/4 98 188 375 528 674 147 280 568 791 1003 NOTE: Consistent %MWIPS/MHz ratios will not be produced on different CPUs using Turbo Boost To Index

References

H J Curnow and B A Wichmann, "A Synthetic Benchmark", Computer Journal Vol 19, No 1 1976

Download Whetstone.pdf, a copy of "A Synthetic Benchmark"

H J Curnow, "Whither Whetstone?", Seminar on Software for Parallel Computers, June 1989

At the time of writing, source code, executable code and more information are available from:

Roy Longbottom's PC Benchmark Collection (see Files List and oldones.htm) - Current Local Home

and Compuserve PC Hardware Forum.


To Start


More Historic Computer Speeds

Detailed Whetstone Benchmark Results On PCs

Dhrystone Benchmark Results On PCs

Livermore Loops Benchmark Results On PCs

Linpack Benchmark Results On PCs

Computer Speeds From Instruction Mixes pre-1960 to 1971

Computer Speed Claims 1980 to 1996 - PCs and IBM Mainframes to 2004

PC CPU Performance Comparisons (to 2014)

64 Bit and Dual Core CPU Versions

Win64.htm and DualCore.htm

Quad Core/8 Thread Versions

Quad Core 8 Thread.htm and QuadCore.zip

To Start
 

Roy Longbottom at Linkedin Produced by Roy Longbottom December 2004, updated October 2014