bc(1)で性能測定

はじめに

bytebenchより手軽。OSのほとんどベースシステムだけで動く。たぶんCPUに強く依存しOSにはあまり影響されないと思うがコンパイラには強く依存するような気もする。

方法

πの小数点以下2000桁計算時間

    time sh -c 'echo "scale=2000; 4*a(1)" | bc -l' > /dev/null

eの小数点以下2000桁計算時間

    time sh -c 'echo "scale=2000; e(1)" | bc -l' > /dev/null

注: GNU bcではない場合、scale=2000は不可能なことが多いようだ

結果

CPU/Machine OS π e
Real User Real User
AMD Athlon64 3000+ 2GHz NetBSD/amd64 3.99.7 0:00:04.66 0:00:04.6 0:00:06.11 0:00:06.0
AMD Opteron 240 1.4GHz NetBSD/amd64 3.99.7 0:00:06.51 0:00:06.51 0:00:08.57 0:00:08.57
Intel Xeon 2.8GHz FreeBSD 4.11-STABLE 0:00:06.01 0:00:05.99 0:00:07.18 0:00:07.18
Intel Xeon 2.66GHz FreeBSD 4.11-STABLE 0:00:06.25 0:00:06.25 0:00:07.28 0:00:07.28
Intel Celeron 2.6GHz NetBSD/i386 0:00:09.79 0:00:06.7 0:00:14.37 0:00:13.2
Intel Xeon 2.4GHz FreeBSD 4.11-STABLE 0:00:06.85 0:00:06.85 0:00:08.12 0:00:08.12
Intel Celeron 2.4GHz NetBSD/i386 2.0_STABLE 0:00:07.33 0:00:07.3 0:00:14.37 0:00:14.3
Intel Xeon 2.2GHz FreeBSD 4.11-STABLE 0:00:07.82 0:00:07.79 0:00:09.16 0:00:09.15
AMD Athlon64 3000+ 2GHz NetBSD/i386 2.0_STABLE 0:00:06.43 0:00:06.4 0:00:15.24 0:00:15.2
Intel Celeron 1.7GHz FreeBSD 5.4-RELEASE-p1 0:00:10.06 0:00:10.05 0:00:20.42 0:00:20.32
Intel Celeron 1.7GHz NetBSD/i386 2.0_STABLE 0:00:10.36 0:00:10.3 0:00:19.62 0:00:19.6
Intel Celeron 1.7GHz Cygwin on WindowsXP 0:00:12.53 0:00:12.50 0:00:22.60 0:00:22.48
AMD Athlon MP 2200+ 1.8GHz FreeBSD 4.11-STABLE 0:00:07.48 0:00:07.47 0:00:07.15 0:00:07.15
AMD Athlon XP 2000+ 1.67GHz FreeBSD 5.4-STABLE 0:00:08.75 0:00:08.64 0:00:18.85 0:00:18.73
AMD Sempron 2400+ 1.67GHz NetBSD/i386 3.99.7 0:00:08.36 0:00:08.2 0:00:19.52 0:00:19.4
Intel Pentium M 1.4GHz FreeBSD 5.3 on VMware 5 0:00:08.26 0:00:07.9o 0:00:11.22 0:00:10.86
Intel Pentium M 1.4GHz RedHatEnterprise 3.0 on VMware 5 0:00:07.41 0:00:07.21 0:00:10.19 0:00:10.18
IBM Thinkpad X31 Pentium M 1.3GHz NetBSD/i386 2.0_STABLE 0:00:10.41 0:00:10.3 0:00:19.12 0:00:19.1
Intel Pentium4 1.2GHz FreeBSD-4.5 0:00:12.43 0:00:12.39 0:00:15.56 0:00:15.39
AMD Duron 1.2GHz NetBSD/i386 2.0_STABLE 0:00:10.75 0:00:10.7 0:00:26.73 0:00:26.7
NEC LaVie G Pentium M 1GHz NetBSD/i386 3.99.3 0:00:23.05 0:00:22.52 - -
NEC LaVie G Pentium M 1GHz Windows Services for UNIX 0:01:20.27 0:01:18.87 0:00:52.81 0:00:52.48
Intel Celeron 1GHz FreeBSD 4.11-STABLE 0:00:11.62 0:00:11.54 0:00:12.34 0:00:12.32
Intel Pentium III 800MHz FreeBSD 4.11-STABLE 0:00:14.67 0:00:14.61 0:00:15.42 0:00:15.41
Intel Pentium III 700MHz FreeBSD 4.11-STABLE 0:00:16.98 0:00:16.94 0:00:17.89 0:00:17.88
Crusoe TMTM5600 600MHz FreeBSD 4.11-STABLE 0:00:38.71 0:00:38.62 0:00:40.36 0:00:40.28
Intel PentiumIII 500MHz FreeBSD 4.11-STABLE 0:00:23.23 0:00:23.21 0:00:24.48 0:00:24.46
AMD K6-III 450MHz NetBSD/i386 3.99.3 0:00:32.60 0:00:32.5 0:00:55.71 0:00:55.6
NEC PC-9821XV13/W16 K6-2 400MHz FreeBSD 5.4-STABLE 0:00:36.98 0:00:36.71 0:00:41.28 0:00:41.04
NEC PC-9821RA333 Celeron 333MHz FreeBSD 5.4-STABLE 0:00:45.51 0:00:45.11 0:01:07.56 0:01:07.03
Intel Celeron 300A MHz NetBSD/i386 1.6.2_STABLE 0:00:34.66 0:00:34.4 0:00:37.04 0:00:36.9
Intel PentiumII 300MHz NetBSD/i386 2.0 0:00:37.58 0:00:37.5 0:00:43.10 0:00:43.0
Cyrix 6x86MX 250MHz NetBSD/i386 1.6.2_STABLE 0:01:32.66 0:01:29.77 0:01:24.03 0:01:23.83
Intel Pentium MMX 200MHz FreeBSD-4.10 0:01:33.07 0:01:32.78 0:01:25.21 0:01:25.06
NEC LaVie Va20C Intel Pentium MMX 200MHz FreeBSD 5.4-STABLE 0:02:19.40 0:02:16.16 0:03:51.93 0:03:46.82
TOSHIBA 300CT Intel Pentium MMX 133MHz FreeBSD 5.4-STABLE 0:07:26.91 0:07:02.16 0:12:31.36 0:11:42.85
IBM Thinkpad 530Cs i486DX2 50MHz NetBSD/i386 3.99.3 0:13:10.07 0:13:08.85 0:18:57.20 0:18:55.5
Intel i486SX 25MHz NetBSD/i386 2.0_STABLE 0:16:37.21 0:16:34.7 0:28:35.55 0:28:31.7
EPSON PC-386M 80386SX 16MHz FreeBSD 4.11-STABLE 2:09:26.55 2:08:26.79 1:32:17.17 1:29:42.22
PowerMac G5 PowerPC 970FX 2.7GHz Dual MacOSX 10.4.2 0:00:06.23 0:00:06.20 0:00:04.96 0:00:04.96
iMac G5 PowerPC 970FX 1.8GHz MacOSX 10.4.2 0:00:09.58 0:00:09.46 0:00:07.70 0:00:07.58
PowerBook G4 PowerPC 7447A 1.5GHz MacOSX 10.4.2 0:00:08.03 0:00:07.5 0:00:06.49 0:00:06.15
iBook G3 PowerPC G3 700MHz MacOSX 10.3.9 0:01:01.95 0:00:59.82 0:00:17.21 0:00:16.41
OpenBlockS266 IBM405GPr 266MHz NetBSD/evbppc 0:04:02.79 0:01:34.8 0:01:02.91 0:01:02.3
PowerMacintosh 7300 MPC604e 180MHz NetBSD/macppc 2.0_STABLE 0:01:15.16 0:01:14.9 0:00:58.34 0:00:58.2
SONY NEWS NWS-5000SB MIPS R4000 NetBSD/newsmips 3.99.7 0:05:03.12 0:05:01.42 - -
SONY NEWS NWS-3460 MIPS R3000 NetBSD/newsmips 2.0 0:22:44.05 0:22:35.35 0:25:52.26 0:25:47.67
Colbalt Qube2 MIPS RM5200 NetBSD/cobalt 2.0_STABLE 0:01:09.37 0:01:09.06 0:01:06.17 0:01:05.50
NEC MobileGear II MC/R530 VR4121 168MHz NetBSD/hpcmips 3.99.3 0:02:34.99 0:02:34.2 0:03:10.00 0:03:09.9
SHARP Terios HC-AJ1 TX3922 129MHz NetBSD/hpcmips 3.99.3 0:02:28.41 0:02:27.6 0:02:14.14 0:02:13.9
AtmarkTechno Armadillo-9 EP9312 200MHz NetBSD/evbarm 3.99.3 0:01:54.63 0:01:54.6 0:04:12.80 0:04:12.7
IO-DATA LANDISK SH-4 SH7751R 266MHz NetBSD/landisk(非公式) 3.99.7 0:01:20.58 0:01:18.7 0:01:28.29 0:01:26.5
SEGA Dreamcast SH-4 SH7750 200MHz NetBSD/dreamcast 2.0_STABLE 0:01:51.73 0:01:50.9 0:01:55.59 0:01:54.9
HP Jornada690 SH-3 SH7709A 133MHz NetBSD/hpcsh 3.99.3 0:03:55.57 0:03:55.3 0:03:52.93 0:03:52.8
HITACHI Persona SH-3 SH7709 96MHz NetBSD/hpcsh 3.99.3 0:05:17.21 0:05:17.1 0:05:22.16 0:05:21.9
Macintosh LC630 XC68040 33MHz NetBSD/mac68k 2.0_STABLE 0:20:41.13 0:20:34.5 0:20:15.83 0:20:11.3
SONY NEWS 1750 MC68030 25MHz NetBSD/news68k 2.0 1:00:21.89 1:00:02.1 1:00:26.15 1:00:06.4
SHARP X68030 MC68030 25MHz NetBSD/x68k 2.99.10 1:02:37.15 1:01:48.9 1:01:27.08 1:00:43.8
FUJITSU S-7/300U UltraSPARC 143MHz NetBSD 2.0 sparc64 0:02:28.58 0:02:28.04 0:04:45.78 0:04:45.22
Sun ULTRA10 UltraSPARCIIi 440MHz Solaris 7 + GNU bc 1.06 0:01:21 0:01:21.0 0:02:42 0:02:42
SPARCstation LX Texas Instruments microSPARC NetBSD/sparc 3.99.7 0:17:35.74 0:17:24.04 0:29:15.92 0:28:10.78
HP A400 PA-8500 440MHz HPUX 11.0 + GNU bc 1.06 0:00:55 0:00:55.2 0:00:43 0:00:43.5

グラフ

bc results

注意

ノリと勢いでやっているので、あまりまじめに比較する物ではありません:)