Annotation of gforth/Benchres, revision 1.68

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