BogoMips(tm) Howto Wim C.A. van Dorst 1 May 1995 This text gives a little information about BogoMips, compiled from various sources by news and mail. The Lowest: H. Peter Anvin 386DX/16 387 nocache 0.57 BogoMips The Highest: David Mosberger-Tang Alpha/166 164.59 BogoMips Contents of this HOWTO: What are BogoMips Lars Wirzenius How to estimate BogoMips several authors Variations in BogoMips rating Linus Torvalds Standalong BogoMips program Jeff Tranter BogoMips ... failed Wim van Dorst Why to pay attention to BogoMips Wim van Dorst Compilation of ratings Wim van Dorst A. Oddly or faultly configured 386 systems B. Normal 386 SX systems C. Normal 386 DX systems D. Oddly or faultly configured 486 systems E. Cyrix/IBM configured 486 systems F. Normal 486 systems G. Normal Pentium systems H. Other systems >From Lars Wirzenius' mail of 9 September 1993, explaining Bogomips: `MIPS is short for Millions of Instructions Per Second. It is a measure for the computation speed of a program. Like most such measures, it is more often abused than used properly (it is very difficult to justly compare MIPS for different kinds of computers). BogoMips are Linus's invention. The kernel (or was it a device driver?) needs a timing loop (the time is too short and/or needs to be too exact for a non-busy-loop method of waiting), which must be calibrated to the processor speed of the machine. Hence, the kernel measures at boot time how fast a certain kind of busy loop runs on a computer. "Bogo" comes from "bogus", i.e, something which is a fake. Hence, the BogoMips value gives some indication of the processor speed, but it is way too unscientific to be called anything but BogoMips. The reasons (there are two) it is printed during bootup is that a) it is slightly useful for debugging and for checking that the computers caches and turbo button work, and b) Linus loves to chuckle when he sees confused people on the news.' >From a initiative in Ian Jackson's List of Frequently asked questions, of 23 January 1994, and from mail from Przemek Klosowski at 29 March 1994, updated for current data: As a very approximate guide the BogoMips will be: System BogoMips Index 386SX clock * 0.14 (plusminus 0.01) 0.76 386DX clock * 0.18 (plusminus 0.01) 1 (definition) 486Cyrix/IBM clock * 0.33 (plusminus 0.04) 1.84 486SX/DX/DX2 clock * 0.50 (plusminus 0.01) 2.80 Pentium clock * 0.40 (plusminus 0.01) 2.22 Alpha clock * 1.00 Mips unknown yet Note that the BogoMips calculation loop is not optimized for the parallelism of the Pentium processor. Note that the BogoMips calculation loop for the non-Intel CPUs is similar but not linearly equivalent. >From Linus Torvalds , explaining about the variation one may see in the BogoMips rating, in c.o.l.development, at 28 April 1994 `The BogoMips calculation loop is "quantizised", so you're most likely to get the exact same number all the time. You usually will get different numbers only if the speed is just on the "edge", when small variations (different time for interrupt ticks etc) will make it jump from one value to the other.' >From the readme file of the standalone BogoMips program by Jeff Tranter : `Tired of rebooting your system so you can see how many BogoMIPS it's running at today? [...] "Bogomips" is a standalone program that displays your system performance using one of the world's most recognized benchmarks. It uses the same code that is used in the Linux kernel while booting, but runs as a user program. [...] Version 1.3 of BogoMIPs is now portable and should run on any system that supports an ANSI C compiler and library.' Note that due to system load values calculated with the standalone program may be lower than registered in the list below. Suggested by various questions on the net and private mail, e.g. by Lily and by Pierre Frenkiel . In March 1995 they asked: `When I boot Linux I get the message: Calibrating delay loop.. ok - 23.96 BogoMips failed Where/why has the calibration delay loop failed?' It didn't fail. If it had failed the text would have been Calibrating delay loop.. failed What likely did fail was a driver for some gadget which you may not have in your machine. Just after calculating the BogoMips rating all device drivers are initiated. First the SCSI devices, then Net devices, etc. Any failure is duly reported. Noteworthy is the AHA152x driver. Other effects of failing drivers (and not of failing BogoMips calculations) are systems crashes, long waits, and complete system locks. Since Linux 1.2 many error messages have improved, so upgrade to at least that version to find out which particular driver it is that is failing. Let me add that there are only two reasons for paying attention to the BogoMips rating that is presented on booting Linux: 1. To see whether it is in the proper range for the particular processor, its clock frequency, and the potentially present cache. Especially 486 systems are prone to faulty setups of RAM caching, turbo-buttons, and such things. 2. To see whether your system is faster than mine. Of course this is completely wrong, unreliable, ill-founded, and utterly useless, but all benchmarks suffer from this same problem. So why not use it? This inherent stupidity has never before stopped people from using benchmarks, has it? :-) The following table gives some reported BogoMips ratings for various systems. Note that the ratings here are from the Linux actual booting sequence. A. Oddly or faultly configured 386 systems System BogoMips Reporter 386DX/16 387 nocache 0.57 H. Peter Anvin 386DX/25 0.82 P Wright 386DX/25 nocache 1.03 Mark A. Horton 386SX/16 1.5 Stefan Kromer 386SX/16 1.6 Bill Davidsen 386SX/20 1.87 Paul C. Dulany 386DX/25(?) 128c 6.03 Chuck Meo 386DX/20 13 Ed Runnion B. Normal 386 SX systems System BogoMips Reporter 386SX/16 Packard Bell 2.05 386SX/16 2.15 W Stevens 386SX/16 2.2 Lech Marcinkowski 386SX/16 2.23 Andrew Bulhak 386SX/16 2.23 Steven M. Gallo 386SX/16 2.34 Kevin Burtch 386SX/16 turbo 2.38 Andrew Haylett 386SX/16 nocache 2.43 Adam Clarke 386SX/20 2.7 Alex Strasheim 386SXL/25 AMD 2.9 Vaughan R. Pratt 386SX/25 AMD nocache 3.06 K.J. MacDonald 386SX/25 AMD 3.38 Hamish Coleman 386SL/25 Intel 3.57 S Harris 386SX/25 AMD 3.62 S Harris 386SX/33 Intel 4.06 Kenneth J. Hoover 386SX/33 4.71 Alexander Komlik C. Normal 386 DX systems System BogoMips Reporter 386DX/20 Intel 3.0 Malcolm Reeves 386DX/20 Intel 3.08 Si. Harris 386DX/20 Nec Powermate 3.22 David J Dawkins 386DX/20 Micronics 3.25 M Haardt 386DX/20 3.67 Joost Helberg 386DX/25 3.91 Ian McCloghrie 386DX/25 3.95 Grant Edwards 386DX/25 32cache 4.53 J.M.A. Lahtinen 386DX/33 5.86 Tim Lacy 386DX/33 64cache 5.99 Lars Wirzenius 386DX/33 Intel 5.99 Harri Pasanen 386DX/33 no387 6.03 Joel B.Levin 386DX/33 387 6.03 Peter Bechtold 386DX/33 6.46 Dennis Robinson 386DX/33 387 256cache 6.65 Wim van Dorst 386DX/40 6.99 Ken Wilcox 386DX/40 AMD 7.10 Kerry Person 386DX/40 7.10 D. Bikram Singh 386DX/40 128cache 7.23 Julian Francis Day 386DX/40 bogoboosted 7.23 Pat St Jean 386DX/40 AMD 128cache 7.23 R.Bergs 386DX/40 slow DRAM 7.26 John Lockwood 386DX/40 128c 7.29 Karsten Friese 386DX/40 7.29 E.C. Garrison 386DX/40 7.29 Darin Cowan 386DX/40 7.29 Bonne van Dijk 386DX/40 AMD 387 64c 7.91 386DX/40 7.98 Frank Pilhofer 386DX/40 64c 7.98 Dean Junk 386DX/40 AMD 32c 7.98 Tommy Olsen 386DX/40 7.98 Christian Nelson 386DX/40 7.98 Alan Peckham D. Oddly or faultly configured 486 systems System BogoMips Reporter 486DX/33 nocache 1.45 Mark Gray 486SL/25 nocache 1.95 Paraskevas Evripidou 486DLC/40 nocache 2.45 S.Schendel 484DX4/100 wb-cache 3.10 Paul Close 486SLC2/50 Cyrix 3.30 Colin J. Wynne 486DX/33 3.61 Marten van de Laan 486DX/33 noturbo 3.61 Dimitris Evmorfopoulos 486DX/33 256c noturbo 4.25 Wouter Liefting 486DX/33 4.66 Mark Gray 486Rx2 Cyrix 25/50 4.85 486SX/33 noturbo 5.21 Scott D. Heavner 486SLC Cyrix 7 Pieter Verhaeghe 486DLC/40 7.98 Wil Cromer 486DX4/100 11.11 NN 486/66 Cyrix 13.02 Mike Baptiste 486SLC2/25 14.6 Vaughan R. Pratt 486DX2/66 IBM no-FF 19 NN 486DX/33 turbo 19.98 C Vetter 486DX2/66 Cyrix 26.63 Adrian Parker 486DX4/75 21.5 Theo Scott 486DX2/58 26.3 Vassili Leonov 486DX4/100 overclock 28.67 Theo Scott E. Cyrix/IBM configured 486 systems System BogoMips Reporter 486DLC/33 9.42 Dennis Robinson 486DLC/33 387DX/40 9.47 Denis Solaro 486DLC/33 Cyrix 386 11.2 Alex Freed 486DLC/40 256c 11.33 S.Schendel 486DRx2/40 Cyrix 13.10 Christopher Lau 486DX/33 Cyrix 13.21 M Haardt 486DLC/40 bogoboost 13.21 Harry Pasanen 486DLC/40 487 Cyrix 13.21 Ian A. Verschuren 486DCL Cyrix 13.3 Tracer Bullet P.I. 486DLC/40 13.31 Adam Frampton 486DLC/40 13.31 Rick Chow 486SLC-S/33 13.51 Brad Pepers 486DLC/40 no Cxpatch 15.47 Sergei O. Naoumov 486DLC/40 TI 128c 15.97 Philip K. Roban 486DRx2 20/40 15.99 Christopher Lau 486SLC2/66 IBM 64c 18.95 Sujat Jamil 486SLC2/66 IBM 128c 18.95 Sujat Jamil 486SLC2/66 19.02 Harry Mangalam 486SLC/50 19.28 Sion Arrowsmith F. Normal 486 systems System BogoMips Reporter 486SX/20 DECpc 9.98 Thomas Pfau 486SX/25 12.24 M. Buchenrieder 486SX/25 12.3 Darren McKay 486SX/25 12.42 Mark R. Lindsey 486DX/25 12.5 Phillip Hardy 486DX/33 256c 16.33 Eric Kemminan 486DX/33 16.35 Christopher L. Morrow 486DX/33 64cache 16.44 H. Peter Anvin 486DX/33 256c DIY 16.44 Wouter Liefting 486DX/33 Intel 128c 16.44 Rafal Kustra 486DX/33 16.5 Alex Freed 486DX/33 16.6 Vaughan R. Pratt 486DX/33 noturbo 16.61 C Vetter 486DX/33 16.61 Jeffrey L. Newbern 486DX/33 16.61 M Heuler 486DX/33 16.61 Frank Lofaro 486DX/40 19.8 Jose Calhariz 486DX/40 19.91 M Heuler 486DX/40 19.96 David A. Ranch 486DX/40 AMD 19.97 M Haardt 486DX/40 Intel 19.97 Paul van Spronsen 486DX/40 19.97 Ulf Tietz 486DX/40 19.97 486DX/40 19.97 Wim van Dorst 486DX/40 AMD 20 Chuck Munro 486DX/50 24.48 Arnd Gehrmann 486DX/50 AMD 24.85 Klaas Hemstra 486DX/50 DTK 24.85 Randolph Christophers 486DX/50 24.85 Kevin Lentin 486DX2/50 24.85 Jason Matthew 486DX2/50 24.85 Gregory P. Smith 486DX/50 25 Robert Herzog 486DX2/50 25.0 Christian Holtje 486DX2/50 DECpc 25.04 Thomas Pfau 486DX2/50 Eisa 25.04 John Willing 486DX2/50 256c 25.04 Zhou Yanmo 486DX2/50 25.04 Mats Wikholm 486DX2/50 25.04 Jean C Delepine 486DX/50 25.04 Jean C Delepine 486DX/50 25.04 Kevin Burtch 486DX/50 notebook 25.04 Pierre Frenkiel 486DX/50 25.10 M Heuler 486DX2/50 25.4 Brian Kennedy 486DX2/66 32 Lee Sau Dan 486DX2/66 33 Alec Muffett 486DX2/66 33 NN 486DX2/66 33 Steve Tinney 486DX2/66 Intel 33 Chuck Munro 486DX2/66 33.20 Arnd Gehrmann 486DX2/66 Intel/PCI 33.22 C. Menke 486DX2/66 33.22 Brian Ricker 486DX2/66 33.22 Don Bennett < 486DX2/66 33.22 Warwick Ward-Cox 486DX2/66 33.22 Chien-An Chen 486DX2/66 Eisa/VL 33.22 Serge 486DX2/66 AMD 33.22 Wayne Robinson 486DX2/66 Intel 33.22 Jim Barber 486DX2/66 33.22 Tom Lowery 486DX2/66 33.3 Devon Tuck 486DX2/66 256cache 33.4 H. Peter Anvin 486DX2/66 33.5 Jongyoon Lee 486DX2/66 33.55 Gene McCulley 486DX2/66 33.55 Eric Malkowski 486DX2/66 33.55 486DX2/66 33.55 W Fink 486DX2/66 ICL 33.55 Mathias Koerber 486DX2/66 256c 33.58 Theo Scott 486DX2/66 33.7 C Triantafillou 486DX2/66 256c Intel 33.81 S Harris 486DX2/66 33.9 Magnus Back 486DX2/66 34.06 Al Clark 486DX4/75 37.47 G Asmundarson 486DX2/80 overcl/66 39.94 Mario L. Guttierez 486DX2/80 AMD 39.94 Corey D Brenner 486DX2/80 39.94 D t Haar 486DX2/80 overcl 39.94 Peter Suetterlin 486DX2/80 AMD 39.94 JL Gomez 486DX2/80 AMD 40 Rene Baart 486DX2/80 AMD 40 Wolfgang Kalthoff 486DX2/80 40.0 Rick Brown 486DX2/80 AMD 40.14 Jon Lewis 486DX2/80 AMD 40.14 Richard S. Stone 486DX2/80 AMD 40.18 Adri Verhoef 486DX4/100 256c 49.71 Lutz Pressler 486DX2/100 AMD-over 40.14 Jon Lewis 486DX4/100 50.05 fredk 486DX4/100 50.08 Steven A. Duchene 486DX4/100 50.08 Piet de Bondt 486DX4/100 256c 50.08 Thomas Kanschik 486DX4/100 50.08 Linas Vepstas 486DX4/100 50.08 Ed Daiga 486DX4/100 notebook 50.08 Gerry Quejada 486DX4/100 50.08 Tom Sinclair 486DX4/100 50.08 Julian Bradbury 486DX4/100 50.51 Frederic Potter G. Normal Pentium systems System BogoMips Reporter Pentium/60 23 Chien-An Chen Pentium 23.96 Joost Helberg Pentium 23.96 Ulf Tietz Pentium/60 Gateway 23.96 Manoj Kasichainula Pentium/60 23.96 Pierre Frenkiel Pentium/60 NCR 3455 24 Mathias Koerber Pentium/66 25 Chuck Munro Pentium/75 30.22 Stuart Nuttall Pentium/90 notebook 32.73 Rich Neves Pentium/90 35.88 Joe Anderson Pentium/90 35.88 Warwick Allison Pentium/90 36 Larry Auton Pentium/90 36 Richard Knipe Pentium/90 36.0 Werner Almesberger Pentium/90 Zeos 36.08 Chris Laurel Pentium/90 36.08 Pak Yin Tam "Fred" Pentium/90 36.08 Tim Krantz Pentium/90 Gateway 36.08 Pete Stewart Pentium/90 36.08 Tom Manos Pentium/90 36.08 NN Pentium/90 36.08 Yavuz Batmaz Pentium/90 36.08 Julian Bradbury Pentium/90 36.08 Dan Langrill Pentium/90 Micronics 36.09 Andrew Brown Pentium/90 36.27 Giao H. Phan Pentium/90 Plato 36.4 Joe Valenzuela Pentium/90 36.5 Mike Kelleher Pentium/90 36.9 Ted Gaunt Pentium/100 39.94 Jered Pentium/100 40.18 H. Other systems (non-Linux systems in brackets) System BogoMips Reporter 68030/25 Amiga 3000 6.21 Hamish Macdonald 68040/24 Amiga 4000/40 16.6 Hamish Macdonald (68040 NextStep) 16.26 Stephane Matis PowerPC601/66 Mac (linux?) 51.62 Fred Klein MIPS Magnum (?) 67.10 Andreas Busse (Alpha OSF1 v2) 92.00 Stephane Matis Alpha/166 164.59 D. Mosberger-Tang (Alpha DEC OSF/1) 180.0 L. Mauger In one and a half week, Isolde will be one year old. Her first real steps are bound to happen RSN as she already 'walks' around while holding tight to the table/toycar/daddy. Met vriendelijke groeten, Wim van Dorst. --------------------------------------------------------------------- Blue Baron = Wim van Dorst, Voice (+31) 074-443937, (+31) 02152-42319 (-: baron@clifton.hobby.nl WvD@Akzo.nl :-) ---------------------------------------------------------------------