--- gforth/Benchres 1995/11/13 18:38:34 1.1 +++ gforth/Benchres 2007/03/12 20:11:55 1.62 @@ -1,12 +1,123 @@ +Copyright (C) 2003,2004,2005,2006 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. You can measure your combination -with `make bench'. You can find a table comparing Gforth with four +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/pub/papers/ertl&maierhofer95.ps.gz. +http://www.complang.tuwien.ac.at/papers/ertl&maierhofer95.ps.gz. All times are given in seconds of user time. +Development results: +sieve bubble matrix fib platform and version + 3.51 3.91 3.54 4.07 Xscale 600MHz; 2007-03-12; gcc-3.3.6 + +Results with Gforth 0.6.2 (for comparing CPUs): siev bubble matrix fib machine and configuration -10.99 12.13 11.34 13.13 Pentium 133MHz 256K PB cache; gcc-2.6.3 -DFORCE_REG; gforth-0.1beta -31.90 35.60 28.30 36.70 i486 66MHz 256K cache; gcc-2.6.3 -DFORCE_REG; gforth-0.1alpha + 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.23 0.28 0.19 0.34 Pentium 4 2.26 (Northwood); gcc-2.95.1; gforth-0.6.2 --enable-force-reg + 0.55 0.73 0.32 0.66 Pentium-III 1000 (Coppermine); gcc-2.95.1; gforth-0.6.2 --enable-force-reg + 0.56 0.63 0.36 0.79 Transmeta Crusoe TM5800 (1GHz); gcc-2.95.4; gforth-0.6.2 --enable-force-reg + + 1.974 2.313 2.033 2.428 Itanium 2 (HP rx2600) 900MHz; gcc-3.3; gforth-0.6.2 + 0.427 0.676 0.303 0.630 PPC970 (G5) 2000MHz; Linux (32-bit executable); 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 + 0.75 1.04 0.41 1.14 PPC7447a (G4) 1066MHz; Linux; gcc-4.1.0; gforth-0.6.2-20060409 + 4.18 5.43 3.37 5.88 PPC604e (PowerMac) 200MHz; Linux; gcc-2.95.2; gforth-0.6.2 + +All results (for historical perspective): +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 + + 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.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 + + 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