File:  [gforth] / gforth / Benchres
Revision 1.73: download - view: text, annotated - select for diffs
Thu Dec 31 14:56:46 2009 UTC (14 years, 2 months ago) by anton
Branches: MAIN
CVS tags: HEAD
moved U4100 result to correct category

Copyright (C) 2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc.

   This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.

Some benchmark results for various combinations of hardware, Gforth
version, and Gforth configuration. Unless specified otherwise, the
default configurations were used. You can measure your combination
with `make bench'. You can find a table comparing Gforth with six
interpretive Forth systems in the manual (Section Performance), and a
comparison with more systems in
http://www.complang.tuwien.ac.at/papers/ertl&maierhofer95.ps.gz.

All times are given in seconds of user time.

Results with Gforth 0.7.0 (for comparing CPUs and C compilers):
AMD64:
sieve bubble matrix  fib
 0.160 0.236  0.072 0.248 0.7.0; Core 2 3GHz (Xeon 5160); gcc-3.4.6 (Debian 3.4.6-5)
 0.152 0.208  0.076 0.244 0.7.0; Core 2 3GHz (Xeon 5160); gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 0.132 0.184  0.104 0.292 0.7.0; Core 2 3GHz (Xeon 5160); gcc-4.2.0
 0.264 0.380  0.116 0.432 0.7.0; K8 2.2Ghz (Athlon 64 X2 4400+); gcc-3.3.6 (Debian 1:3.3.6-15)
 0.264 0.372  0.120 0.400 0.7.0; K8 2.2Ghz (Athlon 64 X2 4400+); gcc-3.4.6 (Debian 3.4.6-5)
 0.176 0.244  0.100 0.308 0.7.0; K8 2.2Ghz (Athlon 64 X2 4400+); gcc-4.0.4 20060904 (prerelease) (Debian 4.0.3-7)
 0.356 0.540  0.112 0.388 0.7.0; K8 2.2Ghz (Athlon 64 X2 4400+); gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 0.292 0.420  0.124 0.480 0.7.0; K8 2GHz (Opteron 270); gcc-3.3.6 (Debian 1:3.3.6-15)
 0.292 0.416  0.132 0.440 0.7.0; K8 2GHz (Opteron 270); gcc-3.4.6 (Debian 3.4.6-8)
 0.209 0.281  0.118 0.373 0.7.0; K8 2GHz (Opteron 246); gcc-4.0.0
 0.192 0.268  0.112 0.340 0.7.0; K8 2GHz (Opteron 270); gcc-4.0.4 20060904 (prerelease) (Debian 4.0.3-7)
 0.216 0.268  0.112 0.340 0.7.0; K8 2GHz (Opteron 270); gcc-4.1.3 20080623 (prerelease) (Debian 4.1.2-23)
 0.216 0.272  0.112 0.392 0.7.0; K8 2GHz (Opteron 270); gcc-4.2.4 (Debian 4.2.4-3)
 0.192 0.276  0.108 0.360 0.7.0; K8 2GHz (Opteron 270); gcc-4.3.1
 0.347 0.500  0.230 0.580 0.7.0; Intel U4100 1.3GHz (HP dm3); gcc 4.4.1-4ubuntu8
IA32:
 0.245 0.287  0.156 0.376 0.7.0; Pentium 4 Northwood 2.26GHz; gcc-2.95.4 20011002 (Debian prerelease)
 0.253 0.350  0.143 0.392 0.7.0; Pentium 4 Northwood 2.26GHz; gcc-3.3.5 (Debian 1:3.3.5-13)
 0.258 0.335  0.138 0.386 0.7.0; Pentium 4 Northwood 2.26GHz; gcc-3.4.4 20050314 (prerelease) (Debian 3.4.3-13sarge1)
PowerPC:
 0.644 0.740  0.320 0.992 0.7.0; PPC7447A 1066MHz (iBook G4 1GHz); gcc-2.95.4 20011002 (Debian prerelease)
 1.740 1.884  1.440 2.264 0.7.0; PPC7447A 1066MHz (iBook G4 1GHz); gcc-3.2.3 (Debian)
 0.680 0.824  0.324 1.068 0.7.0; PPC7447A 1066MHz (iBook G4 1GHz); gcc-3.3.6 (Debian 1:3.3.6-15)
 0.700 0.832  0.332 1.056 0.7.0; PPC7447A 1066MHz (iBook G4 1GHz); gcc-3.4.6 (Debian 3.4.6-8)
 0.600 0.688  0.348 0.988 0.7.0; PPC7447A 1066MHz (iBook G4 1GHz); gcc-4.0.3 20060128 (prerelease) (Debian 4.0.2-8)
 0.972 1.108  0.400 1.180 0.7.0; PPC7447A 1066MHz (iBook G4 1GHz); gcc-4.1.3 20080623 (prerelease) (Debian 4.1.2-23)
 0.584 0.668  0.348 0.968 0.7.0; PPC7447A 1066MHz (iBook G4 1GHz); gcc-4.3.2
PowerPC64:
 0.311 0.389  0.213 0.502 0.7.0; PPC970 2GHz (PowerMac G5); gcc-3.4.6 (Debian 3.4.6-5)
 0.279 0.411  0.183 0.519 0.7.0; PPC970 2GHz (PowerMac G5); gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Alpha:
 0.710 1.392  1.118 1.159 0.7.0; Alpha 21264B 800MHz; gcc-2.95.4 20011002 (Debian prerelease)
 0.840 0.916  0.973 0.961 0.7.0; Alpha 21264B 800MHz; gcc-3.3.6 (Debian 1:3.3.6-15)
 0.760 0.991  0.909 1.008 0.7.0; Alpha 21264B 800MHz; gcc-3.4.6 (Debian 3.4.6-5)
 0.670 1.070  0.932 0.968 0.7.0; Alpha 21264B 800MHz; gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 1.047 1.907  1.273 1.309 0.7.0; Alpha 21264 500MHz; gcc-2.95.2 19991024 (release)
IA64:
 1.000 1.120  0.710 1.680 0.7.0; Itanium II 900MHz (HP rx2600); gcc-4.1.1

ARM:
 1.850 2.330  1.750 2.190 0.7.0; ARM Xscale-IOP80321 600MHz; gcc-3.3.6 (Debian 1:3.3.6-15)
SPARC:
 2.133 2.855  1.536 1.970 0.7.0; UltraSparc T1 1GHz; gcc-3.4.3 (csl-sol210-3_4-branch+sol_rpath)
 2.114 2.665  1.494 1.912 0.7.0; UltraSparc T1 1GHz; gcc-4.0.2

Other results (for historical perspective):

Between 0.6.2 and 0.7.0:
sieve bubble matrix  fib  platform and version
 3.51  3.91   3.54  4.07  Xscale IOP321 (Iyonix) 600MHz; 2007-03-12; gcc-3.3.6
 1.96  2.42   1.97  2.23  Xscale IOP321 (Iyonix) 600MHz; 2007-03-18; gcc-3.3.6; ./configure CC=gcc-3.3 arm_cacheflush=arch/arm/cacheflush1 --enable-force-reg
 2.0   2.3    1.8   2.0   UltraSparc T1 (Sun Fire T1000) 1GHz; Solaris 2.10; gcc-4.0.2; 2007-03-13
 0.930 1.070  0.390 1.160 PPC7447a (G4) 1066MHz; Linux; gcc-4.1.2; gforth-0.6.9-20080716; configure GCC_PR15242_WORKAROUND=1
 0.970 1.120  0.400 1.190 PPC7447a (G4) 1066MHz; Linux; gcc-4.1.2; gforth-0.6.9-20080716
 0.75  1.04   0.41  1.14  PPC7447a (G4) 1066MHz; Linux; gcc-4.1.0; gforth-0.6.2-20060409
 0.249 0.302  0.156 0.394 Pentium 4 2.26 (Northwood); gcc-2.95.4; gforth-0.6.9-20080716
 0.156 0.252  0.076 0.248 Xeon 5160 (3GHz); gcc-4.1.2 20061115 (prerelease) (Debian 4.1.1-21); gforth-0.6.9-20080716
 1.888 2.184  1.596 2.512 Opteron 270 (2GHz); llvm-gcc 4.2.1 (Based on Apple Inc. build 5546); gforth-0.6.9 20080816

0.6.2 and older results:
siev	bubble	matrix	fib	machine and configuration
 0.56    0.63    0.36    0.79   Transmeta Crusoe TM5800 (1GHz); gcc-2.95.4; gforth-0.6.2 --enable-force-reg
 0.21	 0.33	 0.14	 0.36	Athlon 64 3200+ (2GHz, 1MB L2); gcc-2.95.1; gforth-0.6.2 --enable-force-reg
 0.23	 0.34	 0.14	 0.35	Athlon MP 2600+ (2GHz, 0.5MB L2); gcc-2.95.1; gforth-0.6.2 --enable-force-reg
 0.31    0.42    0.19    0.46   Athlon 1800+ (Palomino, 1.533GHz); gcc-2.95.3;  gforth-0.5.9-20011224 -DFORCE_REG; ELF with dynamic superinstructions
 0.37	 0.52	 0.24	 0.61	Athlon 1200 (Thunderbird); gcc-2.95.1; gforth-0.5.9-20011224 -DFORCE_REG; ELF with dynamic superinstructions
 0.75	 1.00    1.29    1.20   Athlon 1200 (Thunderbird); gcc-2.95.1; gforth-0.5.9-20011224 -DFORCE_REG; ELF before dynamic superinstructions
 1.18    1.53    1.94    1.83   Athlon 800 (Thunderbird); gcc-3.0.2; gforth-0.5.9-20011202 -DFORCE_REG -DUSE_TOS; ELF
 1.31    1.67    2.16    1.97   Athlon 800 (Thunderbird); gcc-3.0.2; gforth-0.5.9-20011202 -DFORCE_REG -DUSE_TOS; ELF
 1.36    1.80    2.18    1.86   Athlon 800 (Thunderbird); gcc-3.0.2; gforth-0.5.9-20011202 -DFORCE_REG; ELF
 1.10    1.46    1.91    1.77   Athlon 800 (Thunderbird); gcc-2.95.1; gforth-0.5.9-20011202 -DFORCE_REG; ELF
 0.23	 0.28    0.19    0.34	Pentium 4 2.26 (Northwood); gcc-2.95.1; gforth-0.6.2 --enable-force-reg
 0.26	 0.29	 0.19	 0.37	Pentium 4 2.26 (Northwood); gcc-2.95.1; gforth-0.6.1 --enable-force-reg
 0.60    0.79    1.00    0.92   Pentium 4 2.26 (Northwood); gcc-2.95.3; gforth-0.5.0 -DFORCE_REG; ELF
 0.55	 0.73	 0.32	 0.66	Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.6.2 --enable-force-reg
 0.61	 0.73	 0.33	 0.67	Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.6.1 --enable-force-reg
 1.09	 1.32	 1.62	 1.62	Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.5.0 --enable-force-reg
 1.21	 1.64	 2.06	 2.03	Athlon 750 (Thunderbird); gcc-2.95.1; gforth-0.5.0 -DFORCE_REG; ELF
 1.27	 1.67	 1.95	 1.94	Pentium-III 750; gcc-2.95.2; gforth-0.5.0 -DFORCE_REG; ELF
 0.63    0.89    0.46    0.89   Athlon 600; gcc-2.95.1; gforth-0.6.2-20030910 --enable-force-reg; ELF with native code generation
 0.85    1.15    0.55    1.29   Athlon 600; gcc-3.4-snapshot; gforth-0.6.2-20030910 --enable-force-reg; ELF with dynamic superinstructions
 0.81	 1.09	 0.51	 1.23	Athlon 600; gcc-2.95.2; gforth-0.5.9-20011224 -DFORCE_REG; ELF with dynamic superinstructions
 1.07	 1.25	 0.58	 1.34	Athlon 600; gcc-3.0.1; gforth-0.5.9-20011224 -DFORCE_REG; ELF with dynamic superinstructions
 1.52	 2.09	 2.56	 2.59	Athlon 600; gcc-2.95.2; gforth-0.4.9 -DFORCE_REG; ELF
 2.39	 3.38	 4.13	 4.18	Celeron 450 (Mendocino); gcc-2.7.2.3 -DFORCE-REG -DDIRECT-THREADED; gforth-0.3.0; ELF
 1.97	 2.84	 3.21	 3.24	Celeron 450 (Mendocino); gcc-2.95; gforth-0.4.9 -DFORCE_REG; ELF
 6.88	 7.43	 5.80	 8.15	AMD K6-2 300MHz 1M PB cache 100MHz; gcc-2.7.2.3 -DFORCE-REG; gforth-0.4.0; ELF
 7.61	 8.14	 6.50	 9.13	AMD K6-2 300MHz 1M PB cache 100MHz; gcc-2.95.1 -DFORCE-REG -DUSE_NO_TOS; gforth-0.4.9; ELF
 6.77	 7.21	 5.39	 7.85	AMD K6-2 300MHz 1M PB cache 100MHz; gcc-2.95.1 -DFORCE-REG -DUSE_TOS; gforth-0.4.9; ELF
 5.91    6.89    5.99    7.63	Pentium-MMX 200MHz 512K PB cache; gcc-2.95 -DFORCE-REG -DUSE_TOS; gforth-0.4.9; ELF
 6.68    7.95    6.41    7.99	Pentium-MMX 200MHz 512K PB cache; egcs-1.1b -DFORCE-REG -DUSE_TOS; gforth-0.4.9; ELF
 7.09	 7.70	 7.20	 8.74	Pentium-MMX 200MHz 512K PB cache; gcc-2.95 -DFORCE-REG; gforth-0.4.9; ELF
 7.23	 7.81	 7.22	 8.47	Pentium-MMX 200MHz 512K PB cache; gcc-2.7.2.3 -DFORCE-REG; gforth-0.3.0; ELF
 7.36	 8.16	 7.73	 9.04	Pentium-MMX 200MHz 512K PB cache; egcs-1.1b -DFORCE-REG; gforth-0.4.0; ELF
10.91	11.94	11.24	13.13	Pentium 133MHz 256K PB cache; gcc-2.6.3 -DFORCE_REG; gforth-0.1beta; a.out
11.16	11.86	10.64	12.53	Pentium 133MHz 512K PB cache; gcc-2.7.2p -DFORCE_REG, gforth-0.3.0; ELF
12.62	13.56	11.04	14.97	AMD K6 166MHz 512K PB cache; gcc-2.7.2p -DFORCE_REG, gforth-0.3.0; ELF
11.81	14.39	13.61	15.07	IBM/Cyrix-6x86 133MHz (P166+) 512K PB cache; gcc-2.7.2.1 -DFORCE_REG -DDIRECT_THREADED; gforth-0.3.0; ELF
12.08	11.90	11.06	12.09	Cyrix-6x86MX 166MHz (PR200) 512K PB Cache; gcc-2.7.2.1 -DFORCE_REG -DDIRECT_THREADED; gforth-0.3.0; ELF
29.89	35.42	26.96	34.59	i486 66MHz 256K cache; gcc-2.6.3 -DFORCE_REG -DDIRECT_THREADED; gforth-0.1beta; a.out
25.87	29.96	23.25	29.98	i486 66MHz 256K cache; gcc-2.95.1 -DFORCE_REG; gforth-0.4.9-20000726; ELF
39.50	45.91	36.73	44.90	i486 50MHz 256K cache; gcc-2.7.0 -DFORCE_REG -DDIRECT_THREADED; gforth-0.1beta
42.82	46.74	38.69	48.30	i486 50MHz 256K cache; gcc-2.7.0 -DFORCE_REG; gforth-0.1beta

 1.144	 1.329	 0.762	 1.333	Itanium 2 (HP rx2600) 900MHz; gcc-3.3; gforth-0.6.2-20030910
 1.974	 2.313	 2.033	 2.428	Itanium 2 (HP rx2600) 900MHz; gcc-3.3; gforth-0.6.2

 0.790	 1.375	 0.850	 1.118	21264B (UP1500) 800MHz 8MB cache; gcc-2.95.2; gforth-0.5.9-20011229 with alignment
 0.891	 1.646	 0.729	 1.289  21264B (UP1500) 800MHz 8MB cache; gcc-2.95.2; gforth-0.5.9-20011229 without eliminating jumps
 1.383	 1.769	 2.415	 2.139  21264B (UP1500) 800MHz 8MB cache; gcc-2.96; gforth-0.5.9-20011229
 2.14	 3.11	 3.20	 3.96	21264 (Compaq XP 1000) 500MHz 4M cache; egcs-1.0.3+gas; gforth-0.4.0
 2.03	 2.91	 3.45	 4.39	21264 (Compaq XP 1000) 500MHz 4M cache; gcc-2.95.1 -mcpu=21164a -DFORCE_REG; gforth-0.4.9
 1.86	 2.09	 1.58	 2.17	21164a (Alpha,164LX) 600MHz 2M cache; gcc-2.95.1; gforth-0.5.9-20011229 with alignment
 1.79	 2.24	 1.52	 2.06	21164a (Alpha,164LX) 600MHz 2M cache; gcc-2.95.1; gforth-0.5.9-20011229 without alignment
 2.65	 2.87	 2.28	 3.09	21164a (Alpha,164LX) 600MHz 2M cache; gcc-2.95.1; gforth-0.5.9-20011229 without eliminating jumps
 3.09	 3.24	 2.39	 3.42	21164A (Alpha,164LX) 600MHz 2M cache; gcc-2.7.2.1+gas; gforth-0.3.0
 2.74	 2.95	 2.20	 3.45	21164a (Alpha,164LX) 600MHz 2M cache; gcc-2.95.1 -mcpu=21164a -DFORCE_REG; gforth-0.4.9
 3.7	 3.8	 2.8	 4.1	21164A (Alpha,PC164) 500MHz 2M cache; gcc-2.7.2.1+as (Digital Unix); gforth-0.3.0
 6.28	 5.94	 4.92	 5.92	21064A (Alpha,Cabriolet) 300MHz 2M cache; gcc-2.95.2; gforth-0.5.9-20011229 with alignment
 6.18	 6.07	 4.94	 5.61	21064A (Alpha,Cabriolet) 300MHz 2M cache; gcc-2.95.2; gforth-0.5.9-20011229 without alignment
 7.0	 7.6	 6.2	 7.7	21064A (Alpha,Cabriolet) 300MHz 2M cache; gcc-2.7.2; gforth-0.2.0

 7.49	 7.85	 6.21	 8.07	R4400 250 Mhz 2Mb cache; gcc-2.7.2.2; gforth-0.4.0?
 7.45	 7.98	 5.82	 9.44	R10000 (SGI PowerChallenge XL) 195MHz 2M cache; egcs-1.1.2 -DFORCE_REG; gforth-0.4.9
17.3	19.0	14.1	18.3	R4000 (DecStation 5000/150) 100MHz 1M cache; gcc-2.4.5; gforth-0.1beta
50.9	56.8	42.4	52.0	R3000 (DecStation 5000/200) 25MHz 64K+64K cache; gcc-2.5.8 -DFORCE_REG; gforth-0.1beta

 2.6	 3.4	 2.6	 2.9	UltraSparc T1 (Sun Fire T1000) 1GHz; Solaris 2.10; gcc-4.0.2; gforth-0.6.2
 7.8     8.6     7.0    10.3	UltraSparc-II 248MHz; Solaris.5.5.1; gcc-2.7.1; gforth-0.3.0
28.5	31.1	26.3	33.3    SuperSparc (Sparcstation 10) 40MHz; Solaris.5.5.1; gcc-2.7.1; gforth-0.3.0
59.5	65.8	69.5	61.9	FJMB86903 (SPARC ELC) 33MHz; gcc-2.5.8; gforth-0.1beta
84.34	91.49	76.16	88.83	L64801 25MHz (SPARC IPC) 64K WT cache; gcc-2.4.5; gforth-0.1beta

11.6	12.1	10.8	15.6	PA8000 (HP C160) 160MHz 64M RAM; gcc-2.7.2; gforth-0.3.0
30.0	34.1	20.5	33.0	PA-RISC 1.1 (HP 720) 50MHz 64K cache; gcc-2.6.3 -DDIRECT_THREADED; gforth-0.1beta

 0.427   0.676   0.303   0.630  PPC970 (G5) 2000MHz; Linux (32-bit executable); gcc-2.95.4; gforth-0.6.2
 0.89	 1.17	 0.58	 1.18	PPC7447A (G4) 1066MHz; Linux; gcc-2.95.4; gforth-0.6.2
 1.71	 2.18	 1.30	 2.24	PPC7400 (G4) 450MHz; Linux; gcc-2.95.4; gforth-0.6.2
 2.11	 2.43	 1.52	 2.66	PPC7400 (G4) 450MHz; Linux; gcc-2.95.2; gforth-0.5.0
 3.36	 4.06	 2.39	 4.33	PPC750 (PowerMac 7500, G3-upgrade) 308MHz; Linux; egcs-1.02; gforth 0.4.0-19990312
 4.18	 5.43	 3.37	 5.88	PPC604e (PowerMac) 200MHz; Linux; gcc-2.95.2; gforth-0.6.2
 5.56	 6.11	 4.29	 7.42	PPC604e (PowerMac) 200MHz; Linux; gcc-2.95.2; gforth-0.5.0
 5.68	 6.53	 4.25	 7.47	PPC604e (PowerMac) 200MHz; Linux; gcc-2.7.2.1; gforth-0.4.0-19990312
 6.81	 7.53	 5.10	 8.12	PPC604e (PowerMac) 200MHz; Linux; gcc-2.7.2.1; gforth-0.4.0
 8.25	10.09	 6.45	10.34	PPC604e (PowerMac) 200MHz; Linux; gcc-2.7.2.1; gforth-0.3.0 (indirect threaded)
14.05	16.96	11.14	17.51	PPC604 (PowerMac) 132MHz 256K L2 cache; MkLinux 2.1; gcc-2.7.2.1; gforth-0.3.0
 7.42    8.81    5.96    8.61   PPC603 (Amiga + BlizzardPPC) 160Mhz; gcc-2.95.2 -DDIRECT_THREADED; gforth-0.4.9-19990617
16.29   10.38   7.58    10.5    PPC603 (Amiga + BlizzardPPC) 160Mhz; gcc-2.95.2 -DINDIRECT_THREADED; gforth-0.4.9-19990617

 3.83	 4.60	 4.38	 4.38	Xscale-IOP80321 (Iyonix) 600MHz; Linux; gcc-3.3.6; gforth-0.6.2 (with minor fixes)
 4.05	 4.94	 4.67	 4.60	Xscale-IOP80321 (Iyonix) 600MHz; Linux; gcc 4.1.2 20061115; gforth-0.6.2
 4.38	 5.66	 3.52	 4.86	StrongARM SA-1110 206MHz (iPAQ); Linux; gcc-2.95.2; gforth-0.6.2-20030910 --enable-force-reg --dynamic

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>