Benchmarks
From RevaWiki
These benchmarks are against the "bench.f" program in the "bench" subdirectory of Reva. The gcc versions are agains the C version of the benchmarks, also there.
The machines:
- A (Athlon XP 2600+ 2GHz [6.10.0]) Windows XPsp2, 1G RAM
- B (Athlon XP 2400+ 2GHz [6.8.1]) Linux 2.6.11 1G RAM, 3948 Bmips
- C (Celeron M 1.4Ghz [6.13.6]) Linux 2.6.13 512M Ram, 2802 Bmips
- D (Xeon 3.06Ghz [15.2.0]) Windows XPsp2, 1G RAM
The timings:
| version | A | B | C | D |
| reva-6.0.3 | -- | 5.999 | 6.891 | |
| reva-6.0 | 6.406 | 6.072 | 9.794 | 6.812 |
| reva-5.1 | 9.750 | 8.944 | 13.523 | 9.094 |
| gforth 0.62 | 18.478 | 16.874 | 31.757 | |
| gforth-fast | 13.707 | 15.486 | 23.881 | |
| Win32Forth | 30.609 | |||
| VFX/Win32 | 8.766 | |||
| SwiftForth | 6.735 | |||
| IForth 2.1 | 7.230 | 7.634 | ||
| gcc | 5.828 | 6.130 | 10.173 | |
| gcc -O2 | 4.249 | 4.876 | 5.259 |
NOTE: Several of the other forths do agressive optimization, so the 'noop' gets removed. In order to restore parity I modified the bench so that each compiler does the same 'call noop...' (or equivalent). VFX actually optimizes away a call to the empty word but for some reason doesn't optimize away the loop.
