CPU MUSEUM
(1987-2024.4.11) 🖊
このページの最後に掲載した, 四則演算と関数計算を含んだ FORTRAN/C プログラムを n=1000000 で,コンパイラで最適化せずに様々な機種で実行して,実行時間を計測しました.(2007年以降はn=100000000で実行して時間を1/100にした)
機種 | year | CPU Clock | 時間 | (sec) | MIPS | 値 | OS Compiler | ||
(PC9801) | |||||||||
EPSON PC286L | 1987 | i286 10MHz | 8000 | 0 | .04 | MS-DOS | FOR | ||
NEC PC9801NS | 1990 | i386SX 12MHz | 5000 | 0 | .06 | MS-DOS | FOR | ||
NEC PC9801RX | 1988 | i286 12MHz | 3700 | 0 | .08 | MS-DOS | FOR | ||
+486GTR+S87R | 60 | 4 | MS-DOS | FOR | |||||
EPSON PC-386GS | 1991 | i386DX 20MHz +486SLC | 2700 | 0 | .1 | MS-DOS | FOR | ||
NEC PC9801BX | 1993 | i486SX 20MHz | 1500 | 0 | .19 | MS-DOS | FOR | ||
NEC PC9801NS/T | 1992 | 386SL(98)20MHz+387 | 90 | 3 | MS-DOS | FOR | |||
(DOS/V) | |||||||||
IBM PS/V 486DX2 | 1993 | i486DX2 66MHz | 12 | 22 | MS-DOS | FOR | |||
Idexon 486/66VLB | 1993 | i486DX2 66MHz | 11 | 26 | Win95 | VC4 | |||
Fujitsu FMV-499D2 | 1994 | i486DX4 99MHz | 9 | 31 | MS-DOS | FOR | |||
Toshiba PV3000 5100 | 1995 | Pentium 100MHz | 3 | 94 | Win95 | VC4 | |||
Fujitsu FMV-5120NU2/W | 1996 | Pentium 120MHz | 2 | .6 | 108 | Win95 | VC4 | ||
Toshiba PV3000 5100 | 1997 | PentiumODP MMX166MHz | 1 | .9 | 148 | Win95 | VC4 | ||
Fujitsu FMV-6200D7 | 1997 | PentiumPro 200MHz | 1 | .3 | 217 | WinNT4.0 | VC4 | ||
Fujitsu FMV-6300T7 | 1998 | Pentium2 300MHz | 0 | .6 | 469 | Win95 | VC5 | ||
AOpen AX6BC ProII | 2000 | Pentium3 450MHz | 0 | .39 | 722 | Win2000 | VC6 | ||
FSB 100->133MHz | 0 | .29 | 957 | Win2000 | VC6 | ||||
SONY PCG-SR9M/K | 2001 | Pentium3 750MHz | 0 | .24 | 1180 | Win2000 | VC6 | ||
AOPEN AX3S PRO | 2001 | Celeron 800MHz | 0 | .22 | 1272 | Win2000 | VC6 | ||
Intel D850MD | 2001 | Pentium4 1.7GHz FSB400MHz | 0 | .2 | 1406 | Win2000 | VC6 | ||
Panasonic CF-R3 | 2008 | PentiumM 1.1GHz | 0 | .196 | 1438 | WinXPSP3 | VC8 | ||
Panasonic CF-R7 | 2008 | Core2 Duo 1.06GHz U7500 | 0 | .196 | 1439 | WinXPSP3 | VC8 | ||
AOPEN AX4B PRO-533 | 2002 | Pentium4 2.0AGHz | 0 | .17 | 1684 | Win2000 | VC7 | ||
ASUS P4P800SE | 2008 | Pentium4 3.0GHz | 0 | .127 | 2214 | WinXPSP3 | VC8 | ||
ASUS N4L-VM-DH | 2007 | Core Duo 1.83GHz | 0 | .118 | 2397 | WinXP | VC8 | ||
FOXCONN G31MX-K | 2008 | Core2 Duo 3.16GHz E8500 | 0 | .056 | 5020 | WinXPSP3 | VC8 | ||
FOXCONN G31MX-K1 | 2009 | Core2 Duo 3.16GHz E8500 | 0 | .042 | 6673 | CentOS5 | gcc | ||
0 | .063 | 4456 | CentOS5⁶⁴ | gcc | |||||
FOXCONN G31MX-K | 2008 | Core2 Duo 3.33GHz E8600 | 0 | .052 | 5412 | WinXPSP3 | VC8 | ||
Dospara Monarch | 2010 | Core i7-920 2.67GHz | 0 | .051 | 5528 | WinXPSP3 | VC8 | ||
Dospara Monarch | 2011 | Core i7-2600 3.40GHz | 0 | .04 | 6987 | Win7SP1 | VC10 | ||
NEC LZ750HS | 2012 | Core i7-3517U 1.90GHz | 0 | .05 | 5613 | Win7SP1 | VC10 | ||
Dospara Galleria¹ | 2013 | Core i7-4771 3.50GHz | 0 | .038 | 7452 | Win7SP1 | VC10 | ||
0 | .04 | 7026 | VC14⁶⁴ | ||||||
Dospara Monarch LK | 2016 | Core i7-6700K 4.00GHz | 0 | .036 | 7736 | CentOS7 | gcc | ||
Gigabyte 990FXA-UD3⁴ | 2014 | AMD FX-8320 4.4GHz | 0 | .042 | 6704 | Win7SP1 | VC10 | ||
SONY VJP1111 | 2014 | Core i5-4210U 1.70GHz | 0 | .056 | 5070 | Win7SP1 | VC10 | ||
Gigabyte GA-X99⁵ | 2015 | Core i7-5820K 4.2GHz | 0 | .033 | 8356 | Win8.1 | VC10 | ||
Gigabyte GA-X99⁵ | 2015 | Core i7-5820K 3.3GHz | 0 | .042 | 6664 | Win8.1 | VC10 | ||
Dospara MagnateGE | 2015 | Core i7-4790K 4.0GHz | 0 | .033 | 8557 | Win7SP1 | VC10 | ||
DG-M01IW | 2015 | Atom Z3735F 1.33GHz | 0 | .147 | 1913 | Win10 | VC10 | ||
Dospara Galleria | 2018 | Core i9-7900X 4.3GHz | 0 | .036 | 7728 | Win10 | VC14 | ||
0 | .025 | 11 | k | WSL2 | gcc | ||||
0 | .0098 | 29 | k | WSL2 | gcc -O3 | ||||
Fujitsu WU2/D2 | 2019 | Core i7-8565U 1.80GHz | 0 | .036 | 7931 | WSL2 | gcc | ||
Dospara Monarch ZH | 2019 | Core i9-9900K 5.0GHz | 0 | .029 | 9785 | Win10 | VC14 | ||
- ASRock Z390 Phantom | 0 | .040 | 7072 | Win10 | JDK15 | ||||
Gaming 4 | 0 | .041 | 6941 | WSL2 | JDK11 | ||||
0 | .023 | 12 | k | WSL2 | gcc | ||||
0 | .011 | 25 | k | WSL2 | gcc -O3 | ||||
ASRock B760M-HDV/M.2 D4 | 2023 | Core i9-13900K 5.8GHz | 0 | .0058 | 48 | k | WSL2 | gcc -O0 | |
0 | .0042 | 67 | k | WSL2 | gcc -O3 | ||||
MSI PRO B760M-A DDR4 II | 2024 | Core i9-14900KF 6GHz | 0 | .0056 | 51 | k | WSL2 | gcc -O0 | |
0 | .0041 | 69 | k | WSL2 | gcc -O3 | ||||
(MAC) | |||||||||
MacPlus³ | 1986 | 68000 7.83MHz | 18 | k | 0 | .02 | Sys6.0.7 | MPW | |
PowerMac 7100/66AV² | 1997 | PowerPC 601 66MHz | 3 | .7 | 77 | MacOS7.5 | |||
iMac(Rev.B)³ | 1998 | PowerPC 750 233MHz | 1 | .4 | 201 | LinuxPPC | gcc | ||
0 | .46 | 603 | MacOS8.5 | MPW | |||||
MacBook Air⁴ | 2012 | Core i7-3667U 2GHz | 0 | .049 | 5637 | OSX10.9⁶⁴ | LLVM | ||
(WS) | |||||||||
SUN 4/1+ | 1991 | 12 | .8 | 22 | SunOS | cc | |||
SUN Sparc Classic | 1992 | 8 | .7 | 32 | SunOS | cc | |||
SUN Sparc5 | 1994 | 3 | 94 | SunOS | cc | ||||
Toshiba AS4035 | 1995 | Sparc 110MHz | 4 | .9 | 57 | SunOS | gcc | ||
Fujitsu S-7/7000U 300 | 1997 | UltraSparc 167MHz | 2 | .2? | 128 | Sola2.5.1 | gcc | ||
DELL PowerEdge T105 | 2007 | Opteron 1210 1.8GHz | 0 | .078 | 3606 | CentOS5 | gcc | ||
DELL PowerEdge1950 | 2008 | Xeon E5335 2.00GHz | 0 | .073 | 3873 | CentOS5 | gcc | ||
DELL PowerEdge T300* | 2009 | Xeon E3113 3.00GHz | 0 | .044 | 6342 | CentOS5 | gcc | ||
DELL PowerEdge T320* | 2014 | Xeon E5-2440 2.40GHz | 0 | .054 | 5186 | CentOS6 | gcc | ||
DELL PowerEdge T330* | 2018 | Xeon E3-1270v6 3.80GHz | 0 | .038 | 7469 | CentOS7 | gcc | ||
DELL PowerEdge R340 | 2020 | Xeon E-2174G 3.80GHz | 0 | .023 | 12 | k | CentOS8 | gcc | |
0 | .009 | 30 | k | CentOS8 | gcc -O3 | ||||
(大型汎用機) | |||||||||
FACOM M760/8 | 1991 | 6 | 47 | UNIX | cc | ||||
FACOM M1800@RIKEN | 1990 | 1 | 280 | UNIX | cc | ||||
FACOM M1700@静岡 | 1994 | (RAM128MB, HDD32GB) | 5 | 56 | UNIX | cc | |||
Cray-f@Livermore | 1991 | 0 | .003 | 91 | k | UNIX | cc |
- 機種名が斜体のものはノート(ラップトップ)型。
- 上付き添え字は,コンパイラ/OSのビット数。添え字のないものは,CentOS6,Win7以降は64ビット,それ以前は32ビット。
- OSの横はコンパイラ。 FOR:MS-FORTRAN Ver4, VC4:Visual C++4.0, VCx:Visual C++ x.0, JDK15:bellsoft-jdk15.0.2+10-windows-amd64, JDK11:OpenJDK 11.0.17。
- UNIXでのコンパイルは,cc -lm -O0 cpu.c。そして,time ./a.out とやると,実行時間が正確に測れます。
- Linuxでのコンパイルは,gcc -O0 cpu.c -lm。gccがインストールされていない場合は,CentOSならyum install gcc,Ubuntuならapt install gcc。
- WSL2の導入方法はここ。
- MIPS値とは,Million Instructions per Secondsの頭文字で,1秒間に実行できる命令数(100万単位)。岩波情報科学辞典より。表のMIPS値は,SUN4/1+の22MIPSを既知として比例計算したもの。この値xをインテルi286からPentium 4までのMIPS値yと比較すると,そう大きくは違っていない。回帰分析するとy=1.27x,
R²=0.989となり,30%ほどの違いである:
- ?WorkStationでこのプログラムを実行する時間は, nには比例しないようです???
- ²Kozeki様 (National Research Institute of Fire and Disaster)より。 コンパイラはSYMANTECH C++ Ver8.02。メールありがとうございます(1997/6/2)。
- ³中西様(卒業生)より.MPW=Apple 純正の開発環境。メールありがとうございます(1999/6/23)。
- ⁴千葉様(北里1年生)より。LLVM=Apple LLVM version 5.1 (clang-503.0.40)。(2014/4/23)
- ⁵山本様(北里大学一般教育部情報科学単位TA)より。4.2GHzはオーバークロック。(2015/2/7)
- *kilin
計測用プログラム
FORTRAN |
implicit real*8(a-h,o-z) write(6,*) 'n ?' read(5,*) n do 10 i=1,n x=i y=sin(x)/x+x 10 continue write(*,*) 'y=', y end |
C |
#include "stdio.h" #include "math.h" #include "time.h" void main() { int i,n=100000000; double x,y,t; clock_t start,finish; start=clock(); for(i=1;i<=n;i++){ x=i; y=sin(x)/x+x; } finish=clock(); t=(double)(finish-start)/CLOCKS_PER_SEC; printf("y=%f\n", y); printf("cpu time=%lfsec, about %lfMIPS\n",t,22*12.8/t*n/1000000); getchar(); getchar(); } |
Java |
public class CpuTimex { public static void main(String args[]) { long t1=System.currentTimeMillis(); int i, n=100000000; double x,y=0; for(i=1;i<=n;i++){ x=i; y=Math.sin(x)/x+x; } System.out.println("y="+y); long t2=System.currentTimeMillis(); double t=(t2-t1)/1000.0; System.out.println(t+"sec, about "+22*12.8/t*n/1000000+"MIPS"); } } |
cpu.zipは,上のソースをコンパイルしたWindows95-10用実行ファイルたちです。
コンパイラ | オプション | 実行ファイルx86 | x64 |
Visual Studio 2015 (VC14) | /Od/GS- | cpu.2015.32.exe | cpu.2015.64.exe |
Visual Studio 2010 (VC10) | cpu.2010.32.exe | ||
Visual Studio 2008 (VC9) | cpu.2008.exe | ||
Visual Studio 2005 (VC8) | cpu.2005.exe | ||
Visual Studio.NET 2002 (VC7) | cpu.exe | ||
Visual C++ 6.0 Sp4 (VC6) | cpu.vc6.exe |
関連ページ
コメントまたは連絡フォームでCPU MUSEUMへの情報をお寄せください。
コメント
コメントを投稿