Michael A. Golub's Pi-benchmark [Back to main page]

Pi-Bench

Pi-Bench is own FORTRAN program for calculating the PI-number under DOS, Windows or UNIX (OSF). It is a good benchmark for testing the overall calculation performance of the computer, because it uses intensively floating and fixed point operations as well as reading and writing from and to memory. The program has about a quadratic complexity vs the number of digits to be computed; it calculates some "performance index". The index is just a good estimation, wich shows how your computer deals with loops, floating point, integer arythmetics and memory operations simultaneously unlike SPECint or SPECfp that test Int and FP separately.

You can see the table below of the results. Note that they are platform specific, i.e., changing the compiler or operation system or memory ammount or porting to another hardware may lead to other results (the index).

pibench.zip (68462 bytes) 16-bit i8086 (version, the source code works OK under OSF also).

pi_ben32.zip (88574 bytes) the same code compiled for i80386--Pentium (Win32 platforms only). Note that the code is not optimized for Pentium-Pro and compiled with emulator option, so the results of comparison Pentium and Pentium-Pro may surprize you (see table below).

pi_bench32.zip (220614 bytes) analog compiled with GNU FORTRAN (G77) for Win32 platform; as a GNU-compliant software it can be compiled on almost any platform.

My friend A.Dontsov has tested Pentium-166 and Pentium-Pro-200 and Pentium-II. The first two test were carried out in the same environment and the indexes were about 900 and 800 respectively (Win32 version, see below) and the difference was much more surprising with 16-bit version.

Celeron-300 overclocked to 450 MHz is about twice faster than an old DEC Alpha station. Overclocking is done by changing the bus speed to 100 MHz (PC-100 or similar DIMMs used). Celeron ignores switches on the motherboard and always multiplies the bus frequency by 4.5. Pentium-II of similar frequency is to show better results because of its cache (Celeron has none). The results may differ slightly if the task's "bottle-necks" fit the cache size.

Comparison results does not mean that this or that platform is "faster" or "slower". Of course, Pentium-Pro offered better average performance (as well as of particular applications) than Pentium or Pentium-MMX, but if you do scientific calculations then you can save your money :-).

Platforms are generally incomparable: different hardware architectures, sets and efficiencies of loaded processes, various number of users, memory speed, etc. Of course, one must have enough memory not to force swapping :-). The users, however, is not interested in these details. They need to know how fast their tasks are solved. The PC environments mainly differ in disk speed (particularly if SCSI is used), memory and processor speed. Disk performance means almost nothing to the benchmark, memory and processor speed may be roughly measured in Megahertz and additionally characterized by with the processor type. Roughly: Most PCs with processors of similar classes have memory of almost the same speed. So, to choose a computing environment you must make sure to have sufficient memory and an appropriate processor.

PlatformOSCompilerDigits Approximate index
DEC 3000-600S AXP (alpha)OSF/1 (UNIX)f77 640001100
PC KT Intel 80386SX/80386 33 MHzMS DOS 6.2MS-FORTRAN 5.0 800016
PC WYSE 80286/80287 12 MHzMS DOS 5.0MS-FORTRAN 5.0 40004.7
PC SIS 486/256K/16M/AMD5x86
133 MHz
DOS 6.2MS-FORTRAN 5.0 4000204
PC SIS 486/256K/16M/AMD5x86
133 MHz
Windows-95MS-FORTRAN 5.0 4000210
PC SIS 486/256K/16M/AMD5x86
133 MHz
Windows-95MS-FORTRAN Power Station 4 8000287
PC SIS 486/256K/32M/AMD5x86
133 MHz
Windows-95GNU G77 0.5.20 4000376
PC Pentium-MMX 166 MHzWindows-NT4MS-FORTRAN Power Station 4 16000900
PC Pentium-Pro 200 MHzWindows-NT4MS-FORTRAN Power Station 4 16000800
PC Pentium-II 300 MHzWindows-NT4MS-FORTRAN Power Station 4 160001040
PC Celeron-300 at 450 MHzWindows-98MS-FORTRAN Power Station 4 80001648
PC Celeron-300 at 450 MHzWindows-98both GNU G77 0.5.20
and EGCS 1.1 CygWin Beta-19
G77 0.5.24
80002259
End of pi-bench page.