BOGOMIPS(tm) mini-HOWTO Wim C.A. van Dorst 18 January 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: Steven A. Duchene Piet de Bondt 486DX4/100 50.08 BogoMips 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 Note that the BogoMips calculation loop is not optimized for the parallelism of the Pentium processor. 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. 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/20 1.87 Paul C. Dulany 386DX/25(?) 128c 6.03 Chuck Meo 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 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 Pet. 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 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 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 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 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 486DLC/33 387DX/40 9.47 Denis Solaro 486SLC2/25 14.6 Vaughan R. Pratt 486DX/33 turbo 19.98 Chris Vetter E. Cyrix/IBM configured 486 systems System BogoMips Reporter 486DLC/33 Cyrix 386 11.2 Alex Freed 486DLC/40 256c 11.33 S.Schendel 486DRx2/40 Cyrix 13.10 Christopher Lau 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 F. Normal 486 systems System BogoMips Reporter 486SX/20 DECpc 9.98 Thomas Pfau 486SX/25 12.24 M. Buchenrieder 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 Intel 19.97 Paul van Spronsen 486DX/40 19.97 Ulf Tietz 486DX/40 19.97 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 486DX/50 25.10 M Heuler 486DX2/66 32 Lee Sau Dan 486DX2/66 33 Alec Muffett 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 Eric Malkowski 486DX2/66 33.55 486DX2/66 33.55 W Fink 486DX2/66 ICL 33.55 Mathias Koerber 486DX2/66 33.7 C Triantafillou 486DX2/66 256c Intel 33.81 S Harris 486DX2/66 34.06 Al Clark 486DX4/75 37.47 G Asmundarson 486/66 overclocked 39.94 Mario L. Guttierez 486DX2/80 39.94 D t Haar 486DX2/80 overcl 39.94 Peter Suetterlin 486DX2/80 AMD 39.94 JL Gomez 486DX2/80 40.0 Rick Brown 486DX2/80 AMD-over 40.14 Richard S. Stone 486DX4/100 256c 49.71 Lutz Pressler 486DX4/100 50.08 Steven A. Duchene 486DX4/100 50.08 Piet de Bondt 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 NCR 3455 24 Mathias Koerber Pentium/66 25 Chuck Munro Pentium/90 35.88 Joe Anderson Pentium/90 35.88 Warwick Allison Pentium/90 36 Larry Auton Pentium/90 36 Richard Knipe Pentium/90 Zeos 36.08 Chris Laurel Pentium/90 36.08 Pak Yin Tam "Fred" Pentium/90 36.08 Tim Krantz Pentium/90 36.08 Yavuz Batmaz Pentium/90 36.08 Dan Langrill Pentium/90 36.27 Giao H. Phan Pentium/90 36.5 Mike Kelleher Pentium/100 39.94 Jered H. Other systems System BogoMips Reporter 68030/25 Amiga 3000 6.21 Hamish Macdonald 68040/24 Amiga 4000/40 16.6 Hamish Macdonald PowerPC601/66 Mac 51.62 Fred Klein Alpha (DEC OSF/1) 180.0 L. Mauger