Instructions per second

Instructions per second (IPS) is a measure of a computer's processor speed. Many reported IPS values have represented "peak" execution rates on artificial instruction sequences with few branches, whereas realistic workloads typically lead to significantly lower IPS values. Memory hierarchy also greatly affects processor performance, an issue barely considered in IPS calculations. Because of these problems, synthetic benchmarks such as Dhrystone are now generally used to estimate computer performance in commonly used applications, and raw IPS has fallen into disuse.

The term is commonly used in association with a numeric value such as thousand instructions per second (TIPS), million instructions per second (MIPS), and billion instructions per second (GIPS).

Computing

IPS can be calculated using this equation:[1]

IPs per cycle

See "Instructions per cycle" (IPC for microarchitectures).

Thousand instructions per second (kIPS)

Before standard benchmarks were available, average speed rating of computers was based on calculations for a mix of instructions with the results given in kilo Instructions Per Second (kIPS). The most famous was the Gibson Mix,[2] produced by Jack Clark Gibson of IBM for scientific applications. Other ratings, such as the ADP mix which does not include floating point operations, were produced for commercial applications. The thousand instructions per second (kIPS) unit is rarely used today, as most current microprocessors can execute at least a million instructions per second.

Millions of instructions per second (MIPS)

Not to be confused with MIPS instruction set.

The speed of a given CPU depends on many factors, such as the type of instructions being executed, the execution order and the presence of branch instructions (problematic in CPU pipelines). CPU instruction rates are different from clock frequencies, usually reported in Hz, as each instruction may require several clock cycles to complete or the processor may be capable of executing multiple independent instructions simultaneously. MIPS can be useful when comparing performance between processors made with similar architecture (e.g. Microchip branded microcontrollers). They are difficult to compare between differing CPU architectures.[3]

For this reason, MIPS has become not a measure of instruction execution speed, but task performance speed compared to a reference. In the late 1970s, minicomputer performance was compared using VAX MIPS, where computers were measured on a task and their performance rated against the VAX 11/780 that was marketed as a 1 MIPS machine. (The measure was also known as the VAX Unit of Performance or VUP.) This was chosen because the 11/780 was roughly equivalent in performance to an IBM System/370 model 158-3, which was commonly accepted in the computing industry as running at 1 MIPS.

Many minicomputer performance claims were based on the Fortran version of the Whetstone benchmark, giving Millions of Whetstone Instructions Per Second (MWIPS). The VAX 11/780 with FPA (1977) runs at 1.02 MWIPS.

Effective MIPS speeds are highly dependent on the programming language used. The Whetstone Report has a table showing MWIPS speeds of PCs via early interpreters and compilers up to modern languages. The first PC compiler was for BASIC (1982) when a 4.8 MHz 8088/87 CPU obtained 0.01 MWIPS. Results on a 2.4 GHz Intel Core 2 Duo (1 CPU 2007) vary from 9.7 MWIPS using BASIC Interpreter, 59 MWIPS via BASIC Compiler, 347 MWIPS using 1987 Fortran, 1,534 MWIPS through HTML/Java to 2,403 MWIPS using a modern C/C++ compiler.

For the most early 8-bit and 16-bit microprocessors, performance was measured in thousand instructions per second (1 kIPS = 0.001 MIPS).

zMIPS refers to the MIPS measure used internally by IBM to rate its mainframe servers (zSeries, IBM System z9, and IBM System z10).

Weighted million operations per second (WMOPS) is a similar measurement, used for audio codecs.

Timeline of instructions per second

Processor / System Dhrystone MIPS / MIPS D IPS / clock cycles per second D IPS / clock cycles per second / cores per die Year Source
UNIVAC I0.002 MIPS at 2.25 MHz0.00080.00081951

[4]

Intel 40040.092 MIPS at 740 kHz
(Not Dhrystone)
0.1240.1241971[5]
IBM System/370 Model 1580.64 MIPS at 8.696 MHz0.07360.07361972[6]
Intel 80800.29 MIPS at 2 MHz0.1450.1451974[7]
MOS Technology 65020.43 MIPS at 1 MHz0.430.431975[8]
Intel 8080A0.435 MIPS at 3 MHz0.1450.1451976[7]
Zilog Z800.58 MIPS at 4 MHz0.1450.1451976[8]
Motorola 68090.42 MIPS at 1 MHz0.420.421977[8]
Motorola 68020.5 MIPS at 1 MHz0.50.51977[9]
IBM System/370 Model 158-30.73 MIPS at 8.696 MHz0.08390.08391977[6]
VAX-11/7801 MIPS at 5 MHz0.20.21977[6]
Intel 80860.33 MIPS at 5 MHz0.0660.0661978[7]
Fujitsu MB88432 MIPS at 2 MHz
(Not Dhrystone)
111978[10]
Intel 80880.75 MIPS at 10 MHz0.0750.0751979[7]
Motorola 680001.4 MIPS at 8 MHz0.1750.1751979[8]
Zilog Z8001/Z80021.5 MIPS at 6 MHz0.250.251979[11]
Intel 8035/8039/80486 MIPS at 6 MHz
(Not Dhrystone)
111980[12]
Fujitsu MB8843/MB88446 MIPS at 6 MHz
(Not Dhrystone)
111980[10]
Zilog Z80/Z80H1.16 MIPS at 8 MHz0.1450.1451981[8][13]
Motorola 68021.79 MIPS at 3.58 MHz0.50.51981[9][14]
Zilog Z8001/Z8002B2.5 MIPS at 10 MHz0.250.251981[11]
MOS Technology 65022.522 MIPS at 5.865 MHz0.430.431981[8][14]
Intel 2861.28 MIPS at 12 MHz0.1070.1071982[6]
Motorola 680002.188 MIPS at 12.5 MHz0.1750.1751982[8]
Motorola 680102.407 MIPS at 12.5 MHz0.1930.1931982[15]
NEC V204 MIPS at 8 MHz0.50.51982[16]
LINKS-1 Computer Graphics System (257-processor)642.5 MIPS at 10 MHz2.50.251982[17]
Texas Instruments TMS320105 MIPS at 20 MHz0.250.251983[18]
NEC V305 MIPS at 10 MHz0.50.51983[16]
Motorola 680103.209 MIPS at 16.67 MHz0.1930.1931984[15]
Motorola 680204.848 MIPS at 16 MHz0.3030.3031984[19]
Hitachi HD637052 MIPS at 2 MHz111985[20][21]
Intel i386DX2.15 MIPS at 16 MHz0.1340.1341985[6]
Hitachi-Motorola 68HC0003.5 MIPS at 20 MHz0.1750.1751985[8]
Intel 87518 MIPS at 8 MHz111985[22]
Sega System 16 (4-processor)16.33 MIPS at 10 MHz4.0830.4081985[23]
ARM24 MIPS at 8 MHz0.50.51986
Texas Instruments TMS340106 MIPS at 50 MHz0.120.121986[24]
NEC V706.6 MIPS at 20 MHz0.330.331987[25]
Motorola 680309 MIPS at 25 MHz0.360.361987[26][27]
Gmicro/20010 MIPS at 20 MHz0.50.51987[28]
Texas Instruments TMS320C2012.5 MIPS at 25 MHz0.50.51987[29]
Analog Devices ADSP-210012.5 MIPS at 12.5 MHz111987[30]
Texas Instruments TMS320C2525 MIPS at 50 MHz0.50.51987[29]
Motorola 6802010 MIPS at 33 MHz0.3030.3031988[19]
Motorola 6803018 MIPS at 50 MHz0.360.361988[27]
Namco System 21 (10-processor)73.927 MIPS at 25 MHz2.9570.2961988[31]
Intel i386DX4.3 MIPS at 33 MHz0.130.131989[6]
Intel i486DX8.7 MIPS at 25 MHz0.3480.3481989[6]
NEC V8016.5 MIPS at 33 MHz0.50.51989[25]
Intel i86025 MIPS at 25 MHz111989[32]
Atari Hard Drivin' (7-processor)33.573 MIPS at 50 MHz0.6710.09591989[33]
NEC SX-3 (4-processor)680 MIPS at 400 MHz1.70.4251989[34]
Motorola 6804044 MIPS at 40 MHz1.11.11990[35]
Namco System 21 (Galaxian³) (96-processor)1,660.386 MIPS at 40 MHz41.510.4321990[36]
AMD Am3869 MIPS at 40 MHz0.2250.2251991[37]
Intel i486DX11.1 MIPS at 33 MHz0.3360.3361991[6]
Intel i86050 MIPS at 50 MHz111991[32]
Intel i486DX225.6 MIPS at 66 MHz0.3880.3881992[6]
Alpha 2106486 MIPS at 150 MHz0.5730.5731992[6]
Alpha 21064135 MIPS at 200 MHz0.6750.6751993[6][38]
MIPS R440085 MIPS at 150 MHz0.5670.5671993[39]
Gmicro/500132 MIPS at 66 MHz221993[40]
IBM-Motorola PowerPC 601157.7 MIPS at 80 MHz1.9711.9711993[41]
SGI Onyx RealityEngine2 (36-processor)2,640 MIPS at 150 MHz17.60.4891993[42]
Namco Magic Edge Hornet Simulator (36-processor)2,880 MIPS at 150 MHz19.20.5331993[39]
ARM740 MIPS at 45 MHz0.8890.8891994[43]
Intel DX470 MIPS at 100 MHz0.70.71994[7]
Motorola 68060110 MIPS at 75 MHz1.331.331994
Intel Pentium188 MIPS at 100 MHz1.881.881994[44]
Microchip PIC16F5 MIPS at 20 MHz0.250.251995[45]
IBM-Motorola PowerPC 603e188 MIPS at 133 MHz1.4141.4141995[46]
ARM 7500FE35.9 MIPS at 40 MHz0.90.91996
IBM-Motorola PowerPC 603ev423 MIPS at 300 MHz1.411.411996[46]
Intel Pentium Pro541 MIPS at 200 MHz2.72.71996[47]
Hitachi SH-4360 MIPS at 200 MHz1.81.81997[48][49]
IBM-Motorola PowerPC 750525 MIPS at 233 MHz2.32.31997
Zilog eZ8080 MIPS at 50 MHz1.61.61999[50]
Intel Pentium III2,054 MIPS at 600 MHz3.43.41999[44]
Sega Naomi Multiboard (32-processor)6,400 MIPS at 200 MHz3211999[51]
Freescale MPC8272760 MIPS at 400 MHz1.91.92000[52]
AMD Athlon3,561 MIPS at 1.2 GHz3.03.02000
Silicon Recognition ZISC 788,600 MIPS at 33 MHz260.6260.62000[53]
ARM11515 MIPS at 412 MHz1.251.252002[54]
AMD Athlon XP 2500+7,527 MIPS at 1.83 GHz4.14.12003[44]
Pentium 4 Extreme Edition9,726 MIPS at 3.2 GHz3.03.02003
Microchip PIC10F1 MIPS at 4 MHz0.250.252004[55][56]
ARM Cortex-M3125 MIPS at 100 MHz1.251.252004[57]
Nios II190 MIPS at 165 MHz1.131.132004[58]
MIPS32 4KEc356 MIPS at 233 MHz1.51.52004[59]
VIA C71,799 MIPS at 1.3 GHz1.41.42005[60]
ARM Cortex-A82,000 MIPS at 1.0 GHz2.02.02005[61]
AMD Athlon FX-5712,000 MIPS at 2.8 GHz4.34.32005
AMD Athlon 64 3800+ X2 (2-core)14,564 MIPS at 2.0 GHz7.33.62005[62]
ARM Cortex-R4450 MIPS at 270 MHz1.661.662006[63]
MIPS32 24K604 MIPS at 400 MHz1.511.512006[64]
PS3 Cell BE (PPE only)10,240 MIPS at 3.2 GHz3.23.22006
IBM Xenon CPU (3-core)19,200 MIPS at 3.2 GHz6.02.02005
AMD Athlon FX-60 (2-core)18,938 MIPS at 2.6 GHz7.33.62006[62]
Intel Core 2 Extreme X6800 (2-core)27,079 MIPS at 2.93 GHz9.24.62006[62]
Intel Core 2 Extreme QX6700 (4-core)49,161 MIPS at 2.66 GHz18.44.62006[65]
MIPS64 20Kc1,370 MIPS at 600 MHz2.32.32007[66]
P.A. Semi PA6T-1682M8,800 MIPS at 1.8 GHz4.44.42007[67]
Qualcomm Scorpion (Cortex A8-like)2,100 MIPS at 1 GHz2.12.12008[54]
Intel Atom N2703,846 MIPS at 1.6 GHz2.42.42008[68]
Intel Core 2 Extreme QX9770 (4-core)59,455 MIPS at 3.2 GHz18.64.62008[65]
Intel Core i7 920 (4-core)82,300 MIPS at 2.93 GHz28.0897.0222008[69]
ARM Cortex-M045 MIPS at 50 MHz0.90.92009[70]
ARM Cortex-A9 (2-core)7,500 MIPS at 1.5 GHz5.02.52009[71]
AMD Phenom II X4 940 Black Edition42,820 MIPS at 3.0 GHz14.33.52009[72]
AMD Phenom II X6 1100T78,440 MIPS at 3.3 GHz23.73.92010[69]
Intel Core i7 Extreme Edition 980X (6-core)147,600 MIPS at 3.33 GHz44.77.462010[73]
ARM Cortex A51,256 MIPS at 800 MHz1.571.572011[61]
ARM Cortex A72,850 MIPS at 1.5 GHz1.91.92011[54]
Qualcomm Krait (Cortex A15-like, 2-core)9,900 MIPS at 1.5 GHz6.63.32011[54]
AMD E-350 (2-core)10,000 MIPS at 1.6 GHz6.253.1252011[74]
Nvidia Tegra 3 (Quad core Cortex-A9)13,800 MIPS at 1.5 GHz9.22.52011
Samsung Exynos 5250 (Cortex-A15-like 2-core14,000 MIPS at 2.0 GHz7.03.52011[75]
Intel Core i5-2500K 4-core83,000 MIPS at 3.3 GHz25.1526.2882011[76]
Intel Core i7 875K92,100 MIPS at 2.93 GHz31.47.852011[77]
AMD FX-8150 (8-core)90,749 MIPS at 3.6 GHz25.23.152011[78]
Intel Core i7 2600K117,160 MIPS at 3.4 GHz34.458.612011[79]
Intel Core i7 Extreme Edition 3960X (6-core)176,170 MIPS at 3.3 GHz53.388.892011[80]
AMD FX-835097,125 MIPS at 4.2 GHz23.12.92012[78][81]
AMD FX-9590115,625 MIPS at 5.0 GHz23.12.92012[69]
Intel Core i7 3770K106,924 MIPS at 3.9 GHz27.46.92012[78]
Intel Core i7 3630QM113,093 MIPS at 3.2 GHz35.38.832012[82]
Intel Core i7 4770K133,740 MIPS at 3.9 GHz34.298.572013[78][81][83]
Intel Core i7 5960X238,310 MIPS at 3.0 GHz79.49.922014[84]
Raspberry Pi 24,744 MIPS at 1.0 GHz 4.744 1.186 2014[85]
Intel Core i7 6950X317,900 MIPS at 3.0 GHz10610.62016[86]
Processor / System Dhrystone MIPS / MIPS D IPS / clock cycles per second D IPS / clock cycles per second / cores per die Year Source

See also

References

  1. "Nodes, Sockets, Cores and FLOPS, Oh, My" by Dr. Mark R. Fernandez, Ph.D.
  2. Gibson, J.C. (1970). The Gibson Mix (Technical Report TR 00.2043). Poughkeepsie, N.Y.: IBM Systems Development Division.
  3. Ted MacNeil. "Don't be Misled by MIPS". IBM magazine.
  4. US Steel News. 15-20. Industrial Relations Department of The United States Steel Corporation of Delaware. 1950–1955. p. 29.
  5. "MCS4 > IntelP4004".
  6. 1 2 3 4 5 6 7 8 9 10 11 "Cost of CPU Performance Through Time 1944-2003".
  7. 1 2 3 4 5 "Intel Processors". 24 April 2012. Archived from the original on 2012-04-24.
  8. 1 2 3 4 5 6 7 8 Drolez, Ludovic. "Lud's Open Source Corner".
  9. 1 2 2 cycles per instruction
  10. 1 2 1 instruction per cycle
  11. 1 2 4 cycles per instruction = 0.25 instructions per cycle
  12. "intel :: dataSheets :: 8048 8035 HMOS Single Component 8-Bit Microcomputer DataSheet 1980".
  13. "Sega G80 Hardware Reference". 25 October 1997. Archived from the original on 2012-02-19.
  14. 1 2 "System 16 - Irem M27 Hardware (Irem)".
  15. 1 2 10% faster than 68000 (0.175 MIPS per MHz )
  16. 1 2 NEC V20/V30: 250 nanoseconds per instruction @ 8 MHz
  17. LINKS-1 Computer Graphics System: 257× Zilog Z8001 at 10 MHz (2.5 MIPS ) each
  18. "TMS320C1x DIGITAL SIGNAL PROCESSORS" (PDF).
  19. 1 2 "32-Bit Microprocessor-NXP".
  20. "ZTAT (ZeroTurnAroundTime) Microcomputers" (PDF). Archived from the original (PDF) on October 6, 2014.
  21. http://www.datasheetarchive.com/dlmain/Datasheets-13/DSA-246134.pdf
  22. 1 instruction per cycle
  23. Sega System 16: Hitachi-Motorola 68000 @ 10 MHz (1.75 MIPS), NEC-Zilog Z80 @ 4 MHz (0.58 MIPS) , Intel 8751 @ 8 MHz (8 MIPS ), Intel 8048 @ 6 MHz (6 MIPS )
  24. Inc, InfoWorld Media Group (23 January 1989). "InfoWorld". InfoWorld Media Group, Inc. via Google Books.
  25. 1 2 http://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=59745&item_no=1&page_id=13&block_id=8
  26. Inc, Ziff Davis (24 November 1987). "PC Mag". Ziff Davis, Inc. via Google Books.
  27. 1 2 "Enhanced 32-Bit Processor-NXP".
  28. "TRON VLSI CPU Introduction".
  29. 1 2 "060 1987 Drivers Eyes + 1989 Winning Run" (PDF). The history of racing games. June 2007.
  30. "Analog Devices - datasheet pdf" (PDF).
  31. Namco System 21 hardware: 5× Texas Instruments TMS320C20 @ 25 MHz (62.5 MIPS ), 2× Motorola 68000 @ 12.288 MHz (4.301 MIPS ), Motorola 68020 @ 12.5 MHz (3.788 MIPS ), Hitachi HD63705 @ 2.048 MHz (2.048 MIPS ), Motorola 6809 @ 3.072 MHz (1.29 MIPS )
  32. 1 2 "Intel i860-based Bus Boards".
  33. Atari Hard Drivin' hardware: Motorola 68000 @ 7 MHz (1.225 MIPS ), Motorola 68010 @ 7 MHz (1.348 MIPS ), 3× Texas Instruments TMS34010 @ 50 MHz (18 MIPS ), Analog Devices ADSP-2100 @ 8 MHz (8 MIPS ), Texas Instruments TMS32010 @ 20 MHz (5 MIPS )
  34. "SUPERCOMPUTER". 13 (4). doi:10.1515/piko.1990.13.4.205.
  35. "(Including EC, LC, and V)-NXP".
  36. Namco System 21 (Galaxian³) hardware: 80× Texas Instruments TMS320C25 @ 40 MHz (1600 MIPS ), 5× Motorola 68020 @ 24.576 MHz (37.236 MIPS ) Motorola 68000 @ 12.288 MHz (2.15 MIPS ), 10× Motorola 68000 @ 12 MHz (21 MIPS )
  37. Enterprise, I. D. G. (25 March 1991). "Computerworld". IDG Enterprise via Google Books.
  38. Digital's 21064 Microprocessor, Digital Equipment Corporation (c1992) accessdate=2009-08-29
  39. 1 2 "System 16 - Namco Magic Edge Hornet Simulator Hardware (Namco)".
  40. Uchiyama, Kunio; Arakawa, Fumio; Narita, Susumu; Aoki, Hirokazu; Kawasaki, Ikuya; Matsui, Shigezumi; Yamamoto, Mitsuyoshi; Nakagawa, Norio; Kudo, Ikuo (1 September 1993). "The Gmicro/500 Superscalar Microprocessor with Branch Buffers". 13 (5): 12–22. doi:10.1109/40.237998 via ACM Digital Library.
  41. "dhrystone".
  42. 24× MIPS R4400 (2040 MIPS), 12× Intel i860 (600 MIPS)
  43. "DCTP - Saturn Specifications".
  44. 1 2 3 "Charts, benchmarks CPU Charts 2004, Sandra - CPU Dhrystone".
  45. "PIC16F84A - 8-bit PIC Microcontrollers".
  46. 1 2 "MOTOROLA P OWER PC 603 E ™ MICROPROCESSOR" (PDF).
  47. "SiSoftware – Windows, GPGPU, Android, iOS analysers, diagnostic and benchmarking apps".
  48. "DCTP - Hitachi's 200 MHz SH-4".
  49. "DCTP - January 1998 News Archives".
  50. "Zilog Sees New Lease of Life for Z80 in Internet Appliances". Computergram International. 1999.
  51. Sega Naomi Multiboard hardware: 16× Hitachi SH-4 at 200 MHz (5760 MIPS ), 16× ARM7 at 45 MHz (640 MIPS )
  52. Freescale Semiconductor - MPC8272 PowerQUICC II Processor Family
  53. "ZISC78 datasheet & application note - Datasheet Archive".
  54. 1 2 3 4 Shimpi, Anand Lal. "ARM's Cortex A7: Bringing Cheaper Dual-Core & More Power Efficient High-End Devices".
  55. "PIC10F200 - 8-bit PIC Microcontrollers".
  56. "Microchip Redirect".
  57. "Cortex-M3 Processor - ARM".
  58. Nios II Performance Benchmarks
  59. "MIPS Architecture Enabling Growing List of Mobile Application Processors".
  60. "mini-itx.com - epia px 10000 review".
  61. 1 2 "Cortex-A Series - ARM".
  62. 1 2 3 "Charts, benchmarks CPU Charts 2007, Synthetic SiSoft Sandra XI CPU".
  63. "Cortex-R4 Processor - ARM".
  64. [http://www.mips.com/products/cores/32-64-bit-cores/mips32-24k/ MIPS32 24K]
  65. 1 2 "Tom's Hardware Articles - Find and Filter Our Latest Articles".
  66. "Semiconductor IP Cores Companies".
  67. Merritt, Rick (5 February 2007). "Startup takes PowerPC to 25 W". EE Times. UBM Tech. Retrieved 20 November 2012.
  68. "Benchmarks of ECS 945GCT-D with Intel Atom 1.6GHz".
  69. 1 2 3 "Charts, benchmarks Desktop CPU Charts 2010, ALU Performance: SiSoftware Sandra 2010 Pro (ALU)".
  70. "Cortex-M0 Processor - ARM".
  71. "EEE Journal: ARM11 vs Cortex A8 vs Cortex A9 - Netbooks processors EEE PC, MSI Wind, HP, Acer Aspire, ARM Cortex vs Intel Atom".
  72. "The Phenom II List of Overclocks - Page 21".
  73. "OC3D :: Review :: Intel 980x Gulftown :: Synthetic Benchmarks".
  74. "Benchmark Results: Sandra 2011 - ASRock's E350M1: AMD's Brazos Platform Hits The Desktop First". 14 January 2011.
  75. "Samsung Semiconductor Global Official Website".
  76. "Core i5 2500K and Core i7 2600K review".
  77. "Charts, benchmarks Desktop CPU Charts 2010, ALU Performance: SiSoftware Sandra 2010 Pro (ALU)".
  78. 1 2 3 4 "Test: Sandra Dhrystone (MIPS) for i7-4770K, i7-3770K, FX-8350, FX-8150".
  79. "Benchmark Results: SiSoftware Sandra 2011 - The Intel Core i7-990X Extreme Edition Processor Review". 25 February 2011.
  80. "HardOCP - Synthetic Benchmarks".
  81. 1 2 "AMD FX-8350 Black Edition vs Intel Core i7-4770K - Compare CPUs".
  82. "Intel Core i7 3630QM Notebook Processor".
  83. "Intel Core i7-4770K Desktop Processor".
  84. Rob Williams (August 29, 2014). "Core i7-5960X Extreme Edition Review: Intel's Overdue Desktop 8-Core Is Here". Techgage.
  85. By (2015-02-05). "Benchmarking The Raspberry Pi 2". hackaday.com.
  86. Intel InGaAs FTW (October 16, 2016). "Core i7-6950X Extreme Edition Deca Core benchmarks. About 6% IPC gains over Haswell-E". cpubenchmark, passmark, cpuboss,geekbench,cinebench.
This article is issued from Wikipedia - version of the 11/13/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.