| 1 : |
anton
|
1.61
|
Copyright (C) 2003,2004,2005,2006 Free Software Foundation, Inc. |
| 2 : |
anton
|
1.49
|
|
| 3 : |
|
|
This file is free documentation; the Free Software Foundation gives |
| 4 : |
|
|
unlimited permission to copy, distribute and modify it. |
| 5 : |
|
|
|
| 6 : |
anton
|
1.1
|
Some benchmark results for various combinations of hardware, Gforth |
| 7 : |
anton
|
1.8
|
version, and Gforth configuration. Unless specified otherwise, the |
| 8 : |
|
|
default configurations were used. You can measure your combination |
| 9 : |
|
|
with `make bench'. You can find a table comparing Gforth with six |
| 10 : |
anton
|
1.1
|
interpretive Forth systems in the manual (Section Performance), and a |
| 11 : |
|
|
comparison with more systems in |
| 12 : |
anton
|
1.11
|
http://www.complang.tuwien.ac.at/papers/ertl&maierhofer95.ps.gz. |
| 13 : |
anton
|
1.1
|
|
| 14 : |
|
|
All times are given in seconds of user time. |
| 15 : |
|
|
|
| 16 : |
anton
|
1.62
|
Development results: |
| 17 : |
|
|
sieve bubble matrix fib platform and version |
| 18 : |
|
|
3.51 3.91 3.54 4.07 Xscale 600MHz; 2007-03-12; gcc-3.3.6 |
| 19 : |
|
|
|
| 20 : |
anton
|
1.55
|
Results with Gforth 0.6.2 (for comparing CPUs): |
| 21 : |
anton
|
1.1
|
siev bubble matrix fib machine and configuration |
| 22 : |
anton
|
1.54
|
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 |
| 23 : |
anton
|
1.55
|
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 |
| 24 : |
|
|
0.23 0.28 0.19 0.34 Pentium 4 2.26 (Northwood); gcc-2.95.1; gforth-0.6.2 --enable-force-reg |
| 25 : |
|
|
0.55 0.73 0.32 0.66 Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.6.2 --enable-force-reg |
| 26 : |
|
|
0.56 0.63 0.36 0.79 Transmeta Crusoe TM5800 (1GHz); gcc-2.95.4; gforth-0.6.2 --enable-force-reg |
| 27 : |
|
|
|
| 28 : |
|
|
1.974 2.313 2.033 2.428 Itanium 2 (HP rx2600) 900MHz; gcc-3.3; gforth-0.6.2 |
| 29 : |
anton
|
1.59
|
0.427 0.676 0.303 0.630 PPC970 (G5) 2000MHz; Linux (32-bit executable); gcc-2.95.4; gforth-0.6.2 |
| 30 : |
anton
|
1.55
|
1.71 2.18 1.30 2.24 PPC7400 (G4) 450MHz; Linux; gcc-2.95.4; gforth-0.6.2 |
| 31 : |
anton
|
1.60
|
0.75 1.04 0.41 1.14 PPC7447a (G4) 1066MHz; Linux; gcc-4.1.0; gforth-0.6.2-20060409 |
| 32 : |
anton
|
1.55
|
4.18 5.43 3.37 5.88 PPC604e (PowerMac) 200MHz; Linux; gcc-2.95.2; gforth-0.6.2 |
| 33 : |
anton
|
1.63
|
3.83 4.60 4.38 4.38 Xscale-IOP80321 (Iyonix) 600MHz; Linux; gcc-3.3.6; gforth-0.6.2 (with minor fixes) |
| 34 : |
|
|
4.05 4.94 4.67 4.60 Xscale-IOP80321 (Iyonix) 600MHz; Linux; gcc 4.1.2 20061115; gforth-0.6.2 |
| 35 : |
anton
|
1.55
|
|
| 36 : |
|
|
All results (for historical perspective): |
| 37 : |
|
|
siev bubble matrix fib machine and configuration |
| 38 : |
|
|
0.56 0.63 0.36 0.79 Transmeta Crusoe TM5800 (1GHz); gcc-2.95.4; gforth-0.6.2 --enable-force-reg |
| 39 : |
|
|
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 |
| 40 : |
|
|
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 |
| 41 : |
pazsan
|
1.47
|
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 |
| 42 : |
anton
|
1.44
|
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 |
| 43 : |
|
|
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 |
| 44 : |
anton
|
1.42
|
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 |
| 45 : |
anton
|
1.41
|
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 |
| 46 : |
|
|
1.36 1.80 2.18 1.86 Athlon 800 (Thunderbird); gcc-3.0.2; gforth-0.5.9-20011202 -DFORCE_REG; ELF |
| 47 : |
|
|
1.10 1.46 1.91 1.77 Athlon 800 (Thunderbird); gcc-2.95.1; gforth-0.5.9-20011202 -DFORCE_REG; ELF |
| 48 : |
anton
|
1.50
|
0.23 0.28 0.19 0.34 Pentium 4 2.26 (Northwood); gcc-2.95.1; gforth-0.6.2 --enable-force-reg |
| 49 : |
|
|
0.26 0.29 0.19 0.37 Pentium 4 2.26 (Northwood); gcc-2.95.1; gforth-0.6.1 --enable-force-reg |
| 50 : |
anton
|
1.48
|
0.60 0.79 1.00 0.92 Pentium 4 2.26 (Northwood); gcc-2.95.3; gforth-0.5.0 -DFORCE_REG; ELF |
| 51 : |
anton
|
1.50
|
0.55 0.73 0.32 0.66 Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.6.2 --enable-force-reg |
| 52 : |
|
|
0.61 0.73 0.33 0.67 Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.6.1 --enable-force-reg |
| 53 : |
|
|
1.09 1.32 1.62 1.62 Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.5.0 --enable-force-reg |
| 54 : |
anton
|
1.39
|
1.21 1.64 2.06 2.03 Athlon 750 (Thunderbird); gcc-2.95.1; gforth-0.5.0 -DFORCE_REG; ELF |
| 55 : |
anton
|
1.38
|
1.27 1.67 1.95 1.94 Pentium-III 750; gcc-2.95.2; gforth-0.5.0 -DFORCE_REG; ELF |
| 56 : |
pazsan
|
1.53
|
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 |
| 57 : |
pazsan
|
1.52
|
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 |
| 58 : |
pazsan
|
1.46
|
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 |
| 59 : |
|
|
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 |
| 60 : |
pazsan
|
1.35
|
1.52 2.09 2.56 2.59 Athlon 600; gcc-2.95.2; gforth-0.4.9 -DFORCE_REG; ELF |
| 61 : |
anton
|
1.24
|
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 |
| 62 : |
anton
|
1.30
|
1.97 2.84 3.21 3.24 Celeron 450 (Mendocino); gcc-2.95; gforth-0.4.9 -DFORCE_REG; ELF |
| 63 : |
anton
|
1.22
|
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 |
| 64 : |
anton
|
1.30
|
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 |
| 65 : |
|
|
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 |
| 66 : |
pazsan
|
1.29
|
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 |
| 67 : |
|
|
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 |
| 68 : |
|
|
7.09 7.70 7.20 8.74 Pentium-MMX 200MHz 512K PB cache; gcc-2.95 -DFORCE-REG; gforth-0.4.9; ELF |
| 69 : |
pazsan
|
1.25
|
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 |
| 70 : |
pazsan
|
1.23
|
7.36 8.16 7.73 9.04 Pentium-MMX 200MHz 512K PB cache; egcs-1.1b -DFORCE-REG; gforth-0.4.0; ELF |
| 71 : |
anton
|
1.13
|
10.91 11.94 11.24 13.13 Pentium 133MHz 256K PB cache; gcc-2.6.3 -DFORCE_REG; gforth-0.1beta; a.out |
| 72 : |
pazsan
|
1.14
|
11.16 11.86 10.64 12.53 Pentium 133MHz 512K PB cache; gcc-2.7.2p -DFORCE_REG, gforth-0.3.0; ELF |
| 73 : |
anton
|
1.17
|
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 |
| 74 : |
|
|
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 |
| 75 : |
anton
|
1.19
|
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 |
| 76 : |
anton
|
1.13
|
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 |
| 77 : |
anton
|
1.36
|
25.87 29.96 23.25 29.98 i486 66MHz 256K cache; gcc-2.95.1 -DFORCE_REG; gforth-0.4.9-20000726; ELF |
| 78 : |
pazsan
|
1.5
|
39.50 45.91 36.73 44.90 i486 50MHz 256K cache; gcc-2.7.0 -DFORCE_REG -DDIRECT_THREADED; gforth-0.1beta |
| 79 : |
|
|
42.82 46.74 38.69 48.30 i486 50MHz 256K cache; gcc-2.7.0 -DFORCE_REG; gforth-0.1beta |
| 80 : |
anton
|
1.15
|
|
| 81 : |
anton
|
1.51
|
1.144 1.329 0.762 1.333 Itanium 2 (HP rx2600) 900MHz; gcc-3.3; gforth-0.6.2-20030910 |
| 82 : |
|
|
1.974 2.313 2.033 2.428 Itanium 2 (HP rx2600) 900MHz; gcc-3.3; gforth-0.6.2 |
| 83 : |
|
|
|
| 84 : |
anton
|
1.45
|
0.790 1.375 0.850 1.118 21264B (UP1500) 800MHz 8MB cache; gcc-2.95.2; gforth-0.5.9-20011229 with alignment |
| 85 : |
|
|
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 |
| 86 : |
|
|
1.383 1.769 2.415 2.139 21264B (UP1500) 800MHz 8MB cache; gcc-2.96; gforth-0.5.9-20011229 |
| 87 : |
anton
|
1.26
|
2.14 3.11 3.20 3.96 21264 (Compaq XP 1000) 500MHz 4M cache; egcs-1.0.3+gas; gforth-0.4.0 |
| 88 : |
anton
|
1.31
|
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 |
| 89 : |
anton
|
1.45
|
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 |
| 90 : |
|
|
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 |
| 91 : |
|
|
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 |
| 92 : |
anton
|
1.18
|
3.09 3.24 2.39 3.42 21164A (Alpha,164LX) 600MHz 2M cache; gcc-2.7.2.1+gas; gforth-0.3.0 |
| 93 : |
anton
|
1.31
|
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 |
| 94 : |
anton
|
1.18
|
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 |
| 95 : |
anton
|
1.45
|
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 |
| 96 : |
|
|
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 |
| 97 : |
anton
|
1.18
|
7.0 7.6 6.2 7.7 21064A (Alpha,Cabriolet) 300MHz 2M cache; gcc-2.7.2; gforth-0.2.0 |
| 98 : |
anton
|
1.15
|
|
| 99 : |
anton
|
1.55
|
7.49 7.85 6.21 8.07 R4400 250 Mhz 2Mb cache; gcc-2.7.2.2; gforth-0.4.0? |
| 100 : |
anton
|
1.32
|
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 |
| 101 : |
anton
|
1.15
|
17.3 19.0 14.1 18.3 R4000 (DecStation 5000/150) 100MHz 1M cache; gcc-2.4.5; gforth-0.1beta |
| 102 : |
|
|
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 |
| 103 : |
|
|
|
| 104 : |
anton
|
1.16
|
7.8 8.6 7.0 10.3 UltraSparc-II 248MHz; Solaris.5.5.1; gcc-2.7.1; gforth-0.3.0 |
| 105 : |
|
|
28.5 31.1 26.3 33.3 SuperSparc (Sparcstation 10) 40MHz; Solaris.5.5.1; gcc-2.7.1; gforth-0.3.0 |
| 106 : |
anton
|
1.8
|
59.5 65.8 69.5 61.9 FJMB86903 (SPARC ELC) 33MHz; gcc-2.5.8; gforth-0.1beta |
| 107 : |
anton
|
1.12
|
84.34 91.49 76.16 88.83 L64801 25MHz (SPARC IPC) 64K WT cache; gcc-2.4.5; gforth-0.1beta |
| 108 : |
anton
|
1.15
|
|
| 109 : |
|
|
11.6 12.1 10.8 15.6 PA8000 (HP C160) 160MHz 64M RAM; gcc-2.7.2; gforth-0.3.0 |
| 110 : |
anton
|
1.8
|
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 |
| 111 : |
|
|
|
| 112 : |
anton
|
1.57
|
0.89 1.17 0.58 1.18 PPC7447A (G4) 1066MHz; Linux; gcc-2.95.4; gforth-0.6.2 |
| 113 : |
anton
|
1.50
|
1.71 2.18 1.30 2.24 PPC7400 (G4) 450MHz; Linux; gcc-2.95.4; gforth-0.6.2 |
| 114 : |
anton
|
1.40
|
2.11 2.43 1.52 2.66 PPC7400 (G4) 450MHz; Linux; gcc-2.95.2; gforth-0.5.0 |
| 115 : |
anton
|
1.27
|
3.36 4.06 2.39 4.33 PPC750 (PowerMac 7500, G3-upgrade) 308MHz; Linux; egcs-1.02; gforth 0.4.0-19990312 |
| 116 : |
anton
|
1.50
|
4.18 5.43 3.37 5.88 PPC604e (PowerMac) 200MHz; Linux; gcc-2.95.2; gforth-0.6.2 |
| 117 : |
|
|
5.56 6.11 4.29 7.42 PPC604e (PowerMac) 200MHz; Linux; gcc-2.95.2; gforth-0.5.0 |
| 118 : |
anton
|
1.27
|
5.68 6.53 4.25 7.47 PPC604e (PowerMac) 200MHz; Linux; gcc-2.7.2.1; gforth-0.4.0-19990312 |
| 119 : |
anton
|
1.21
|
6.81 7.53 5.10 8.12 PPC604e (PowerMac) 200MHz; Linux; gcc-2.7.2.1; gforth-0.4.0 |
| 120 : |
|
|
8.25 10.09 6.45 10.34 PPC604e (PowerMac) 200MHz; Linux; gcc-2.7.2.1; gforth-0.3.0 (indirect threaded) |
| 121 : |
anton
|
1.15
|
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 |
| 122 : |
anton
|
1.34
|
7.42 8.81 5.96 8.61 PPC603 (Amiga + BlizzardPPC) 160Mhz; gcc-2.95.2 -DDIRECT_THREADED; gforth-0.4.9-19990617 |
| 123 : |
|
|
16.29 10.38 7.58 10.5 PPC603 (Amiga + BlizzardPPC) 160Mhz; gcc-2.95.2 -DINDIRECT_THREADED; gforth-0.4.9-19990617 |
| 124 : |
anton
|
1.51
|
|
| 125 : |
|
|
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 |