The ultimate Forth Benchmark

1 About

The Ultimate Benchmark is a competition held during retro computing events. The goal of this competition is not to find the fasted and most capable machine or Forth system, but to price the most active participant.

The Ultimate Benchmark started years ago during an discussion over beer at one VCFe ( http://vcfe.org ) between Hans, Dino and Carsten over wether a 6502 Forth with 1.79 Mhz (Atari 8bit) will be faster or slower than a Z80 Forth at 4 Mhz. It was benchmarked the other day, Z80 won. But we've got hooked and started benchmarking other machines, and Hans turned it into an yearly competition at VCFe in Munich. It is always fun.

If you are new to Forth, don't fear, there are plenty of Forth people around that are eager to help.

The benchmark competition has two goals:

  • provide motivation for the people at VCFe / VCFb (or other Retro meetings) to do some "practical" work on their machine while having the systems on display
  • have fun with the machines

Being precise, accurate or producing meaningful benchmark results is actually not the goal :)

The main goal is: try to get the best possible result while still having fun!

2 Forth-Systems

This sub-page lists a list of new and old Forth systems for various CPU architectures and Computer systems. Forth is possibly the most ported computer language available: Forth-Systems.

2.1 Interesting Forth-Systems to try

3 Forth Benchmark competition @ VCFe 24.0

There will be a new Forth benchmark competition at VCFe 24.0 taking place on 3rd and 4th May 2025 in Munich (see https://vcfe.org).

A prize will be drawn among all participants on Sunday 4th of May at 14:00 H CEST.

Rules:

  • Run at least three of the six benchmark programs below on your machine
  • Time the runtime of each benchmark as good as you can (timer on the hardware, wall clock, smartphone timer). Run each benchmark multiple times and calculate the median or all measurements.
  • Fill in the results into the provided benchmark paper slips. Use one paper slip for each combination of Forth system and computer system. Don't forget to write down your name (and booth) as well.
  • Everyone can submit results for as many Forth systems and machines. More results will give more chance to win the price.
  • Return the benchmark paper slip to the benchmark organizer at VCFe 24.0
  • Be present at the price drawing at 14:00 H CEST on Sunday

3.1 The benchmark programs for VCFe 24.0

For the 2025 edition of the ultimate benchmark competition we have a new set of benchmark programs (taken from the FIGnition project https://sites.google.com/site/libby8dev/fignition)

These benchmark programs are designed to run on 16bit Forth systems, they might need to be adjusted for 32bit or 64bit systems.

3.2 Benchmark Helper word

This helper word will take an execution token (pointer to a Forth word) and the count and will then execute the Forth word "count" times, printing "START" at the beginning and "END" when finish.

This helper can be used to execute a benchmark multiple times.

Usage: ' <benchmark-word> <count> times

Example: ' countup 10000 times will execute the benchmark word countup 10000 times.

3.2.1 Forth-83/ANS/FIG

: times ( xt count -- )
  CR ." START" CR
  0 DO
     DUP EXECUTE
    LOOP DROP
  ." END" CR
;

3.2.2 eforth

: times
  cr ." START" cr
  for dup execute next
  drop ." END" cr
;

Alternative way to execute a benchmark program multiple times (replace <benchmark-word> with the word to be executed. A new helper word is needed for each benchmark.

Example: 10000 bench

: bench ( count -- )
  CR ." START" CR
  0 DO <benchmark-word> LOOP
  ." END" CR
;

3.3 Benchmark 1 - Addition and Loop

This is a simple benchmark that measures addition and loop performance.

: COUNTUP
  0 BEGIN
    1 + DUP
    9999 >
  UNTIL DROP
;

3.4 Benchmark 2 - Artithmetic

This benchmark tests basic arithmetic functions

: ARITHM
  0 BEGIN
    1 + DUP DUP / OVER
    * OVER + OVER -
    DROP DUP 9999 >
  UNTIL DROP
;

3.5 Benchmark 3 - Word nesting

This benchmark tests the speed of subroutine (Forth word) calls. It calls a word that nests four levels deep.

: sub1 ;
: sub2 sub1 sub1 ;
: sub3 sub2 sub2 ;
: sub4 sub3 sub3 ;

: nesting
 0 BEGIN
   sub4 1 + DUP 9999 >
 UNTIL DROP
;

3.6 Benchmark 4 - Logic operators

This benchmark measures the execution speed of various logic operators.

3.6.1 Forth-83/ANS/eforth

: LOGIC
 0 BEGIN
  1 +
  DUP NEGATE
  DUP AND
  DUP OR
  DUP XOR
  DROP
  DUP 9999 >
 UNTIL DROP
;

3.6.2 FIG-Forth

: LOGIC
 0 BEGIN
  1 +
  DUP -1 XOR
  DUP AND
  DUP OR
  DUP XOR
  DROP
  DUP 9999 >
 UNTIL DROP
;

3.7 Benchmark 5 - Stacks

This benchmark exercises the data and the return stack, sending data back and forth between the stacks.

3.7.1 Forth-83/ANS/eforth

: STACKS
  0 BEGIN
  1 + >R DUP >R DUP >R
  R@ DROP R> DROP
  R@ DROP R> DROP
  R@      R> 9999 >
  UNTIL DROP
;

3.7.2 FIG-Forth

: STACKS
  0 BEGIN
  1 + >R DUP >R DUP >R
  R DROP R> DROP
  R DROP R> DROP
  R      R> 9999 >
  UNTIL DROP
;

3.8 Benchmark 6 - Memory Access

This benchmark repeatedly fills a 1.000 byte memory space with byte values and reads the values back.

3.8.1 Forth 83/ANS/eforth

VARIABLE MEM  1000 ALLOT
: MEMORY
  0 BEGIN
    46 EMIT
    0 BEGIN
      1 + DUP DUP MEM + C!
          DUP     MEM + C@ DROP
      DUP 999 >
    UNTIL DROP
    1 + DUP 99 >
  UNTIL DROP
;

3.8.2 FIG-Forth/Forth-79

0 VARIABLE MEM  1000 ALLOT
: MEMORY
  0 BEGIN
    46 EMIT
    0 BEGIN
      1 + DUP DUP MEM + C!
          DUP     MEM + C@ DROP
      DUP 999 >
    UNTIL DROP
    1 + DUP 99 >
  UNTIL DROP
;

4 Results

4.1 Results VCFe 2025

Time in seconds, number of rounds in parentheses.

Name System Forth Countup Arithm Nesting Logic Stacks Memory
SvOlli Sorbus / 65c02 / 1.25 Mhz TaliForth2 15.64 (10) 13.32 (1) 15.62 (10) 41.21 (10) 42.76 (10) 44.3 (1)
SvOlli Sorbus / 65ce02 / 1.25 Mhz TaliForth2 12.03 (10) 10.73 (1) 12.24 (10) 32.34 (10) 33.64 (10) 34.14 (1)
Steckschwein Steckschwein / 65c02 / 10 Mhz TaliForth2 33.4 (100) 27.7 (10) 51.3 (100) 66.8 (100) 70.2 (100) 36.01 (5)
Oliver Graf MEGA65 / 65GS02 / 40.5 Mhz MEGA65-Forth v 0.2 20.2 (100) 42.12 (20) 39.45 (50) 21.73 (50) 23.07 (50) 39.25 (10)
Jörg Walke Junior Computer ][ / 6502 / 1MHz fig-FORTH 1.6 7.33 (1) 65.75 (1) 27.59 (1) 14.83 (1) 16.37 (1) 141.0 (1)
Odenthal ZX Spectrum 48K / Z80 / 3.5Mhz Husband Forth 126 (40) 129 (6) 124 (8) 114 (10) 122 (16) 115 (2)
Dennis Kuschel My4th XS / My4th XS / 8 Mhz My4th 32.6 (1) 227.2 (1) 41.4 (1) 84,4 (1) 89,1 (1) 789.6 (1)
Dennis Kuschel My4th Light / My4th XS / 8 Mhz My4th 32.4 (1) 227.2 (1) 41.3 (1) 83,8 (1) 88,6 (1) 784.3 (1)
Dennis Kuschel My4th / My4th / 8 Mhz My4th 13.6 (1) 148.8 (1) 21.7 (1) 33.0 (1) 43.0 (1) 308.6 (1)
Dennis Kuschel ForthDeck / My4th / 12 Mhz My4th 9.0 (1) 98.7 (1) 14.5 (1) 22.0 (1) 28.7 (1) 205.8 (1)
Dennis Kuschel MyNOR / My4th for MyNOR / 8 Mhz My4th 29.4 (1) 193.5 (1) 37.6 (1) 77.8 (1) 80.2 (1) 732.5 (1)
David Kuehling Volla Phone 22 / MT6769V (ARM) / 1 Ghz gforth-fast 0.66 (10000) 1.25 (5000) 7.36 (5000) 1.75 (5000) 7.4 (5000) 1.87 (500)
David Kuehling Asus RO7N / Intel Celeron N3350 / 2.2 Ghz gforth-fast 0.81 (10000) 3.74 (5000) 10.91 (5000) 3.05 (5000) 10.93 (5000) 3.33 (500)
                 

4.2 Results VCFB 2022

Name System Forth Benchmark Time (sec/round) Year
Stefan Koch KC 85/4 U880D 1.77Mhz KC-Forth DDBench 1m 32s (1) 2022
Stefan Koch KC 85/4 U880D 1.77Mhz KC-Forth FIB2 3m 08s (1000) 2022
Stefan Koch KC 85/4 U880D 1.77Mhz KC-Forth Deliano 39s (1) 2022
Martin Wend Space Age2 MIPS1 pForth DDBench 1m 24s (20) 2022
Martin Wend Space Age2 MIPS1 pForth Integer 13s (1) 2022
Martin Wend Space Age2 MIPS1 pForth MemMove 24s (1) 2022
Jürgen Weigert Sparc Station LX MicroSparc 1 50Mhz OpenBoot DDBench 3s (100) 2022
Jürgen Weigert Sparc Station LX MicroSparc 1 50Mhz OpenBoot Deliano 21s (1) 2022
Jürgen Weigert Sparc Station LX MicroSparc 1 50Mhz OpenBoot GCD1 1m 10s (100) 2022
Perry Melange TI 99/L-A TMS9900 3Mhz TurboForth 1.2.2 DDBench 1m 19s (20) 2022
Perry Melange TI 99/L-A TMS9900 3Mhz TurboForth 1.2.2 Integer 2m 01s (10) 2022
Perry Melange TI 99/L-A TMS9900 3Mhz TurboForth 1.2.2 MemMove 3m 28s (10) 2022

4.3 Results VCFB (online) 2020

Name System Forth Benchmark Time (sec/round) Year
Carsten Strotmann Atari 260ST 32Forth Deliano 1000x 30s 2020
Carsten Strotmann Atari 260ST 32Forth Integer 1x 8s 2020
Carsten Strotmann Atari 260ST 32Forth Nesting 1mil 42s 2020
Carsten Strotmann Atari 260ST 32Forth BitsInBytes 9s 2020
Carsten Strotmann Atari 260ST 32Forth GCD2 21s 2020
Carsten Strotmann Atari 260ST 32Forth GCD3 23s 2020
Carsten Strotmann Atari 260ST 32Forth DUP-DROP 100x 2m 04s 2020
Carsten Strotmann Atari 260ST 32Forth Mem-Move 10x 42s 2020
Carsten Strotmann Atari 260ST F68Kans Deliano 10x 21s 2020
Carsten Strotmann Atari 260ST F68Kans Integer 10x 18s 2020
Carsten Strotmann Atari 260ST F68Kans DUP-DROP 100x 39s 2020
Carsten Strotmann Atari 260ST OneForth BitInBytes 7s 2020
Carsten Strotmann Atari 260ST OneForth Integer 10x 26s 2020
Carsten Strotmann Atari 260ST OneForth Deliano 10x 1m 30s 2020
Carsten Strotmann Atari 260ST OneForth DUP-DROP 100x 1m 10s 2020
Carsten Strotmann Atari 260ST OneForth Nesting 1mil 38s 2020
Carsten Strotmann Atari 260ST OneForth GCD2 15s 2020
Carsten Strotmann Atari 260ST OneForth GCD3 4s 2020
Carsten Strotmann Atari 260ST OneForth Mem-Move 10x 60s 2020
           

4.4 Results DoReCo Treffen

Name System Forth Benchmark Time (sec/round) Year
Carsten Fulde Sinclair QL M68008 7,5 Mhz Forth79 (G.W.Jackson) GCD 1 21 2019
Carsten Fulde Sinclair QL M68008 7,5 Mhz Forth79 (G.W.Jackson) Integer Calc 4.4 2019
Carsten Fulde Sinclair QL M68008 7,5 Mhz Forth79 (G.W.Jackson) Fibonacci 2 35 2019
Carsten Strotmann Nixdorf 8810 M15 (8Mhz i286) L.O.V.E. Forth GCD 1 6 2019
Carsten Strotmann Nixdorf 8810 M15 (8Mhz i286) L.O.V.E. Forth Integer Calc 0.8 2019
Carsten Strotmann Nixdorf 8810 M15 (8Mhz i286) L.O.V.E. Forth Fibonicci 2 8 2019

4.5 Results VCFe

Name System Forth Benchmark Time (sec/round) Year
Enrico/Dirk Robotron A 7150 i8086/8087 Multibus ~5Mhz VolksForth MS-DOS (ITC) Fibonacci 2 46 2017
Enrico/Dirk Robotron A 7150 i8086/8087 Multibus ~5Mhz VolksForth MS-DOS (ITC) MemMove 8 2017
Enrico/Dirk Robotron A 7150 i8086/8087 Multibus ~5Mhz VolksForth MS-DOS (ITC) GCD 1 25 2017
Enrico/Dirk Robotron A 7150 i8086/8087 Multibus ~5Mhz VolksForth MS-DOS (ITC) GCD 2 30 2017
Ralf Neumann Yodabashi Formula 1 Z80 4Mhz VolksForth CP/M (ITC) GCD 1 42 2017
Ralf Neumann Yodabashi Formula 1 Z80 4Mhz VolksForth CP/M (ITC) Takeuchi 46 2017
Ralf Neumann Yodabashi Formula 1 Z80 4Mhz VolksForth CP/M (ITC) MemMove 24 2017
Carsten Strotmann Scheider Tower AT 220 i286 10Mhz VolksForth MS-DOS (ITC) MemMove 8 (10x) 2017
Carsten Strotmann Scheider Tower AT 220 i286 10Mhz VolksForth MS-DOS (ITC) GCD 1 5 2017
Carsten Strotmann Scheider Tower AT 220 i286 10Mhz VolksForth MS-DOS (ITC) Fibonacci2 8 2017
Carsten Strotmann Amstrad NC100 Z80 4.606Mhz VolksForth CP/M (ITC) Integer Calc 6.23  
Carsten Strotmann Atari Portfolio 8088 4.92Mhz VolksForth MS-DOS (ITC) Integer Calc 4.96  
Martin Metz Amstrad NC100 Z80 4.606Mhz VolksForth CP/M (ITC) GCD 1 38.1  
Andreas Boehm Commodore C64 6510 Audiogenic Forth-64 Integer Calc 526  
Andreas Boehm Commodore C64 6510 Audiogenic Forth-64 Count Bits 140.22  
Andreas Boehm Commodore C64 6510 Audiogenic Forth-64 Sieve Bench 18.1  
Andreas Boehm Commodore C64 6510 Audiogenic Forth-64 GCD 1 215.52  
Andreas Boehm Commodore C64 6510 Audiogenic Forth-64 GCD 2 84.84  
H. Jakob c't 86 8086 5Mhz Laxen/Perry F83 Integer Calc 9  
Neil Franklin HP 100LX 80186 7.9Mhz VolksForth 3.81.41 MS-DOS Integer Calc 2.8  
Carsten Strotmann Atari 130XE 6502 1.79Mhz VolksForth 3.81 Integer Calc 596  
Carsten Strotmann Atari 130XE 6502 1.79Mhz noDMA VolksForth 3.81 Integer Calc 438  
J. Kunz DEC 3000-600 Alpha 21064 175Mhz pForth Integer Calc 0.091  
J. Kunz DEC 3000-600 Alpha 21064 175Mhz pForth Fibonacci 1 0.0038  
J. Kunz DEC 3000-600 Alpha 21064 175Mhz pForth Fibonacci 2 0.00001425  
J. Kunz DEC 3000-600 Alpha 21064 175Mhz pForth Nesting 32Mil 22  
J. Kunz DEC 3000-600 Alpha 21064 175Mhz pForth 6502emu 18  
Ingo Soetebier Nextstation 68040 33Mhz pfe Nesting 1Mil 340  
KC85 Team KC85/4 U880 4Mhz VolksForth CP/M Nesting 1Mil 144  
Venty Thinkpad T61, 2Ghz Core Duo gforth-fast, Linux Integer Calc 0.0013  
Venty Thinkpad T61, 2Ghz Core Duo gforth, Linux Integer Calc 0.0019  
Venty Nokia N900 ARM A8 600Mhz gforth-fast, Linux Nesting 32Mil 3.9  
Venty Nokia N900 ARM A8 600Mhz gforth-fast, Linux Sieve Bench 0.015  
Venty Nokia N900 ARM A8 600Mhz gforth-fast, Linux 6502emu 1  
Venty Nokia N900 ARM A8 600Mhz gforth-dtc, Linux Nesting 32Mil 5.5  
Venty Nokia N900 ARM A8 600Mhz gforth-dtc, Linux Sieve Bench 0.025  
Venty Nokia N900 ARM A8 600Mhz gforth-dtc, Linux 6502emu 1.8  
Venty Nokia N900 ARM A8 600Mhz gforth-itc, Linux Nesting 32Mil 6.9  
Venty Nokia N900 ARM A8 600Mhz gforth-itc, Linux Sieve Bench 0.028  
Venty Nokia N900 ARM A8 600Mhz gforth-itc, Linux 6502emu 2.2  
Thorsten Kuphaldt Amiga 3000 68030 25Mhz jforth Integer Bench 0.24  
Thorsten Kuphaldt Amiga 3000 68030 25Mhz jforth Nesting 1Mil 1.32  
Thorsten Kuphaldt Amiga 3000 68030 25Mhz jforth Memory Move 0.67  
Thorsten Kuphaldt Amiga 3000 68030 25Mhz jforth Sieve Bench 0.148  
Thorsten Kuphaldt Amiga 3000 68030 25Mhz jforth GCD 1 0.64  
Stefan Herold Amstrad 6128+ Z80A 4Mhz Uniforth Integer Calc 17  
Stefan Herold Amstrad 6128+ Z80A 4Mhz Uniforth Fibonacci 2 0.23  
Stefan Herold Amstrad 6128+ Z80A 4Mhz Uniforth Nesting 1Mil 206  
Stefan Herold Amstrad 6128+ Z80A 4Mhz Uniforth Sieve Bench 12  
Ingo Soetebier iBook PPC 750lx (G3) 600Mhz OpenFirmware Integer Calc 0.03  
Ingo Soetebier iBook PPC 750lx (G3) 600Mhz OpenFirmware Fibonacci 1 0.0026  
Ingo Soetebier iBook PPC 750lx (G3) 600Mhz OpenFirmware Fibonacci 2 0.0027  
Ingo Soetebier iBook PPC 750lx (G3) 600Mhz OpenFirmware Nesting 1Mil 1  
Ingo Soetebier iBook PPC 750lx (G3) 600Mhz OpenFirmware Sieve Bench 0.031  
Ingo Soetebier iBook PPC 750lx (G3) 600Mhz OpenFirmware GCD 1 0.024  
Michael Kalus Rockwell R1200-14, 2Mhz 65F12 RSC-Forth Fibonacci 1 16.09  
Michael Kalus Rockwell R1200-14, 2Mhz 65F12 RSC-Forth Fibonacci 2 0.05  
Michael Kalus Rockwell R1200-14, 2Mhz 65F12 RSC-Forth Nesting 1Mil 149  
Michael Kalus Rockwell R1200-14, 2Mhz 65F12 RSC-Forth Integer Calc 31  
Matthias Trute Atmega16 8MHz amForth 4.4 Integer Calc 1.56  
Matthias Trute Atmega16 8MHz amForth 4.4 Fibonacci 1 1.46  
Matthias Trute Atmega16 8MHz amForth 4.4 Fibonacci 2 0.0047  
Matthias Trute Atmega16 8MHz amForth 4.4 Nesting 1Mil 15.4  
Matthias Trute Atmega16 8MHz amForth 4.4 Nesting 32Mil 489  
Matthias Trute Atmega16 8MHz amForth 4.4 GCD 1 7.12  
Matthias Trute Atmega16 8MHz amForth 4.4 GCD 2 10.5  
Matthias Trute Atmega16 8MHz amForth 4.4 Takeuchi 0.7  
Michael Kalus MSP430FR5739, 8Mhz DCO intern MSP-EXP430FR5739 Experimenter Board CamelForth Integer Calc 100x 02'45':10  
Michael Kalus MSP430FR5739, 8Mhz DCO intern MSP-EXP430FR5739 Experimenter Board CamelForth FIB1 100x 00'46':39  
Michael Kalus MSP430FR5739, 8Mhz DCO intern MSP-EXP430FR5739 Experimenter Board CamelForth FIB2 10000x 00'16':91  
Michael Kalus MSP430FR5739, 8Mhz DCO intern MSP-EXP430FR5739 Experimenter Board CamelForth Nesting 32Mil 02'31':23  
Carsten Strotmann IBM L40S (386SX) mina (Fig-Forth) Fib2 (1000) 8s  
Carsten Strotmann IBM L40X (386SX) F83 (Laxen & Perry) Fib2 (1000) 8s  
Carsten Strotmann IBM L40X (386SX) GNU Forth 0.5.0 ec8086 Fib2 (1000) 24s  
Carsten Strotmann IBM L40X (386SX) VolksForth MS-DOS Fibonacci 1 0.36s  
Thorsten Schoeler Sinclair Spectrum+ Aber Forth (FIG-Forth) Integer 25s  
Thorsten Schoeler " " prime 11s  
Thorsten Schoeler " " Nesting 1m 3m17s  
Thorsten Schoeler " " GCD1 2m14s  
Thorsten Schoeler " " Fib2 (1000) 1m46s  
Thorsten Schoeler HX-20 Epson Forth E1.0 Fib2 (1000) 3m16s  
Thorsten Schoeler HX-20 " Nesting 32mil 2h43m49s  
Thorsten Schoeler HX-20 " Nesting 1mil 5m08s  
Thorsten Schoeler HX-20 " Integer 32tsd 1m03s  
Thorsten Schoeler HX-20 6301 614khz " Prime 23s  
Thorsten Schoeler ZX Spectrum 2+ FIG-Forth 1.1a Nesting 3m15s  
Thorsten Schoeler ZX Spectrum 2+ " MemMove 10s  
Thorsten Schoeler ZX Spectrum 2+ Spect ZX Forth 1.1 Nesting 4m13s  
Thorsten Schoeler ZX Spectrum 2+ " MemMove 28s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware Integer 0,14s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware Fib1 0,005s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware Fib2 0,2s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware Memory Move 143s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware Prime 0,11s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware GCD1 0,51s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware GCD2 0,65s  
Wolfgang Stief SUN SparcStation 10 TI TMS390255 OpenFirmware Takeuchi 0,06s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 Integer 0,33s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 Fib1 0,014s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 Fib2 0,06s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 Nesting 32mil 9s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 Mempry Move 0,014s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 Prime 0,03s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 GCD1 0,08s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 GCD2 0,11s  
Wolfgang Stief SUN Ultra 1 200 Mhz UltraSprac OpenBoot 3.25 Takeuchi 0,009s  
Thorsten Schoeler Fignition (ATMEL) Fignition Forth fib2 (1000) 13s  
Stefan Niestegge Atari Falcom 68060 100mhz f68kans Integer 0,022s  
Stefan Niestegge Atari Falcon 68060 100mhz f68kans Fib2 0,0012s  
Stefan Niestegge Atari Falcon 68060 f68kans Countbits 0,05s  
Stefan Niestegge Atari Falcon 68060 f68kans GCD1 0,063s  
Stefan Niestegge Atari Falcon 68060 f68kans GCD2 0,067s  
Stefan Niestegge Atari Falcon 68060 f68kans Nesting 32mil 7,4s  
Thorsten Kuphaldt C64 (normal) Forth64 Nesting 1mill 6m20  
" C64 (Turbo FPGA 6502) Forth64 Nesting 1mill 25s  
" C64 (normal) Forth64 Fib2 (1000) 3m50s  
" C64 (Turbo FPGA 6502) Forth64 Fib2 (1000) 16s  
Martin Neitzel Asus EeePC 1000h (Atom N270 1.6Ghz) FreeBSD 9 FICL Bootloader Integer 0,00075s  
Martin Neitzel Asus EeePC 1000h (Atom N270 1.6Ghz) FreeBSD 9 FICL Bootloader Fib2 66s  
Martin Neitzel Asus EeePC 1000h (Atom N270 1.6Ghz) FreeBSD 9 FICL Bootloader Nesting 1mil 0.66s  
Martin Neitzel Asus EeePC 1000h (Atom N270 1.6Ghz) FreeBSD 9 FICL Bootloader Nesting 32mil 21s  
Martin Neitzel Asus EeePC 1000h (Atom N270 1.6Ghz) FreeBSD 9 FICL Bootloader GCD2 0.57s  
Sabine "Atari Frosch" Engelhardt Atari Portfolio VolksForth 3.81 Fib2 35s  
Sabine "Atari Frosch" Engelhardt Atari Portfolio VolksForth 3.81 Prime 6s  
Sabine "Atari Frosch" Engelhardt Atari Portfolio VolksForth 3.81 Takeuchi 17s  
Herbert Lange Compaq Deskpro P166 pForth V27 Integer Calc 0,052s  
Herbert Lange Compaq Deskpro P166 pForth V27 Fib1 0,061s  
Herbert Lange Compaq Deskpro P166 pForth V27 Fib2 0,001s  
Herbert Lange Compaq Deskpro P166 pForth V27 Nesting 32mil 15,42s  
Herbert Lange Compaq Deskpro P166 pForth V27 Memory Move 0,124s  
Herbert Lange Compaq Deskpro P166 pForth V27 Prime 0,007s  
Herbert Lange Compaq Deskpro P166 pForth V27 GCD1 0,002s  
Herbert Lange Apple iMac G3 400Mhz pForth V27 Integer Calc 0,013s  
Herbert Lange Apple iMac G3 400Mhz pForth V27 Fib1 0,015s  
Herbert Lange Apple iMac G3 400Mhz pForth V27 Fib2 0,001s  
Herbert Lange Apple iMac G3 400Mhz pForth V27 Nesting 32mil 4,335s  
Herbert Lange Apple iMac G3 400Mhz pForth V27 Memory Move 0,028s  
Herbert Lange Apple iMac G3 400Mhz pForth V27 Prime 0,017s  
Herbert Lange Apple iMac G3 400Mhz pForth V27 GCD1 0,063s  
Herbert Lange DEC 3000 400s pForth V27 Integer 0,123s  
Herbert Lange DEC 3000 400s pForth V27 Fib1 0,098s  
Herbert Lange DEC 3000 400s pForth V27 Fib21 0,001s  
Herbert Lange DEC 3000 400s pForth V27 Nesting 32mil 30,694s  
Herbert Lange DEC 3000 400s pForth V27 Memory Move 0,207s  
Herbert Lange DEC 3000 400s pForth V27 Prime 0,117s  
Herbert Lange DEC 3000 400s pForth V27 GCD1 0,483  
Herbert Lange SUN Ultra 1 Creator 3D pForth V27 Integer 0,049s  
Herbert Lange SUN Ultra 1 Creator 3D pForth V27 Fib1 0,052s  
Herbert Lange SUN Ultra 1 Creator 3D pForth V27 Fib2 0,001s  
Herbert Lange SUN Ultra 1 Creator 3D pForth V27 Nesting 32mil 15,631s  
Herbert Lange SUN Ultra 1 Creator 3D pForth V27 Memory Move 0,093s  
Herbert Lange SUN Ultra 1 Creator 3D pForth V27 Prime 0,060s  
Herbert Lange SUN Ultra 1 Creator 3D pForth V27 GCD1 0,022s  
Ralf Neumann mc-CP/M Z80 4Mhz FIG-Forth 1.1 Fib2 1m19s  
Ralf Neumann Prof80 CP/M Z80 6Mhz FIG-Forth 1.1 Fib2 53s  
Carsten Strotmann Zilog Super-8 20Mhz Super8 Forth Fib2 (1000) 31s  
Carsten Strotmann Zilog Super-8 20Mhz Super8 Forth Nesting 1m 20s  
Carsten Strotmann Zilog Super-8 20Mhz Super8 Forth Nesting 32m 11m02s  
Bernd Paysan Samsung Galaxy Note 2 (Exynos 4core) Gforth Fib2 (1000) 0.01s  
Thorsten Schoeler PDP11 FIG-Forth 1.3 Fib2 (1000) 37s  
Thorsten Schoeler PDP11 FIG-Forth 1.3 Fib1 (25) 36s  
Thorsten Schoeler PDP11 FIG-Forth 1.3 Nesting 1m 49s  
Norbert Kehrer Mupid II (BTX Decoder) FIG-Forth 1.1 Fib2 (1000) 210s  
Norbert Kehrer Mupid II (BTX Decoder) FIG-Forth 1.1 Nesting 1m 380s  
Norbert Kehrer Mupid II (BTX Decoder) FIG-Forth 1.1 Sieve 22s  
Norbert Kehrer Mupid II (BTX Decoder) FIG-Forth 1.1 GCD 1 205s  
Norbert Kehrer Mupid II (BTX Decoder) FIG-Forth 1.1 GCD 2 188s  
Thorsten Schoeler NCR 3150 486SX/25Mhz+FPU=Linux 2.0.0 gforth 0.3.0 Fib2 (2500) 9.2s  
Thorsten Schoeler NCR 3150 486SX/25Mhz+FPU=Linux 2.0.0 gforth 0.3.0 Nesting 1m 3s  
Thorsten Schoeler NCR 3150 486SX/25Mhz+FPU=Linux 2.0.0 gforth 0.3.0 Nesting 32m 1m35s  
Thorsten Schoeler NCR 3150 486SX/25Mhz+FPU=Linux 2.0.0 gforth 0.3.0 Fib1 1m79s  
Norbert Kehrer Mupid II (BTX Decoder) Camel Forth 1.01 Integer 68s  
Norbert Kehrer Mupid II (BTX Decoder) Camel Forth 1.01 Fib 2 (1000) 150s  
Norbert Kehrer Mupid II (BTX Decoder) Camel Forth 1.01 Nesting 1m 292s  
Norbert Kehrer Mupid II (BTX Decoder) Camel Forth 1.01 Sieve 15s  
Norbert Kehrer Mupid II (BTX Decoder) Camel Forth 1.01 GCD 1 116s  
Norbert Kehrer Mupid II (BTX Decoder) Camel Forth 1.01 GCD 2 135s  
Helfried Schuerer robotron K 1510, U 808 D (i8008), 480 kHz (auf FOSY Emulator) FOSY V1.2P 1988 (FIG) 1000 FIB2 00:00:15 15s  
Helfried Schuerer robotron K 1510, U 808 D (i8008), 480 kHz (auf FOSY Emulator) FOSY V1.2P 1988 (FIG) FIB2-BENCH 01:51:58 1h 51min 58s  
Helfried Schuerer robotron K 1510, U 808 D (i8008), 480 kHz (auf FOSY Emulator) FOSY V1.2P 1988 (FIG) Nesting 1MILLION 02:32:05 2h 32min 5s  

4.6 Results VCFB October 2014:

Name Geraet Forth Benchmark Messung Skalierung
Ben IBM PS/2 L40SX DX-Forth Integer 1m12s 100x
Ben IBM PS/2 L40SX DX-Forth Fib2 1m03s 10x
Ben IBM PS/2 L40SX DX-Forth GCD1 0m29s 10x
Ben IBM PS/2 L40SX DX-Forth GCD2 0m42s 10x
Thunder.Bird Amstrad PPC 512 DX-Forth Integer 4m02s 10x
Thunder.Bird Amstrad PPC 512 DX-Forth Fib2 1m45s 5x
Thunder.Bird Amstrad PPC 512 DX-Forth GCD1 0m48s 5x
Alexander Muller IBM PS/2 L40SX DX-Forth fib2 1m03s 10x
Alexander Muller IBM PS/2 L40SX DX-Forth gcd1 0m15s 5x
Alexander Muller IBM PS/2 L40SX DX-Forth integer 0m07s 10x
Alexander Muller IBM PS/2 L40SX DX-Forth takeuchi 0m04s 100x
Alexander Muller Raspberry Pi ARM 700Mhz Gforth 0.7.0 gcd1 0m04s 100x
Alexander Muller Raspberry Pi ARM 700Mhz Gforth 0.7.0 Takeuchi 0m02s 5000x
Alexander Muller Raspberry Pi ARM 700Mhz Gforth 0.7.0 Sieve 0m08s 100x
Michael Mengel Apple II UltraWarp 13Mhz Apple II v. 3.2 Fib2 0m21s 1x
Michael Mengel Apple II UltraWarp 13Mhz Apple GraForth Fib2 0m11s 1x
Michael Mengel Apple II 1Mhz Apple II v. 3.2 Fib2 3m56s 1x
Michael Mengel Apple II 1Mhz Apple GraForth Fib2 2m19s 1x

4.7 other Results

Name Computer Forth Benchmark Result Scale
Johan Kotlinski C64 DurexForth 1.6.1 (STC) Integer 37s 1x
Johan Kotlinski C64 DurexForth 1.6.1 (STC) Fibonacci 2 1m57s 1x
Johan Kotlinski C64 DurexForth 1.6.1 (STC) Nest 1M 17s 1x
Johan Kotlinski C64 DurexForth 1.6.1 (STC) Sieve/Prime 10s 1x
Johan Kotlinski C64 DurexForth 1.6.1 (STC) GCD 1 60s 1x
Johan Kotlinski C64 DurexForth 1.6.1 (STC) GCD 2 70s 1x
Carsten Fulde Amiga 500 mit ACA1233n-Turbokarte (68030 @ 40 MHz) JForth 3.1 Delta Research (Phil Burk) GCD 1 0.4s 1x
Carsten Fulde Amiga 500 mit ACA1233n-Turbokarte (68030 @ 40 MHz) JForth 3.1 Delta Research (Phil Burk) Integer 0.087s 1x
Carsten Fulde Amiga 500 mit ACA1233n-Turbokarte (68030 @ 40 MHz) JForth 3.1 Delta Research (Phil Burk) Fibonacci 2 0.35s 1x
Carsten Fulde Enterprise 128 IS-Forth von B. Tanner Integer 23.3s 1x
Carsten Fulde Enterprise 128 IS-Forth von B. Tanner Fibonacci 2 118.4s 1x
Carsten Fulde Enterprise 128 IS-Forth von B. Tanner GCD 1 78s 1x
Carsten Strotmann A-ONE (Apple 1 Clone) mit 65C02 TaliForth 2 (STC) Fibonacci 2 1m50s 1x
Carsten Strotmann A-ONE (Apple 1 Clone) mit 65C02 TaliForth 2 (STC) Nest 1M 25s 1x
Carsten Strotmann A-ONE (Apple 1 Clone) mit 65C02 TaliForth 2 (STC) GCD 2 1m25s 1x
Carsten Strotmann A-ONE (Apple 1 Clone) mit 65C02 TaliForth 2 (STC) Deliano 29s 1x
Thomas Woinke Steckschwein 8MHz 65c02 TaliForth 2 (STC) Fibonacci 2 15.23s 1x
Thomas Woinke Steckschwein 8MHz 65c02 TaliForth 2 (STC) Next 1M 3.7s 1x
Thomas Woinke Steckschwein 8MHz 65c02 TaliForth 2 (STC) GCD 2 11.75s 1x
Thomas Woinke Steckschwein 8MHz 65c02 TaliForth 2 (STC) Deliano 4.16s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth 6502 13m15s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth bitsincell 8m20s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth bubble 4m31s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth collatz 5m51s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth deliano 7m53s 50x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth fib1 52s 1x (24 fib1)
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth dupdrop 6m03s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth fib2 11m55s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth gcd1 3m55.3s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth gcd2 4m59s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth gcd3 1m1s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth intcalc 6m44s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth memmove 7m00s 250x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth nesting 1mil 0m49s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth nesting 32mil 2m37s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth qsort 4m46s 50x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth sieve 3m45s ??x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 3 Mhz) Z79Forth takeuchi 0m55s 200x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth 6502 9m56s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth bitsincell 6m15s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth bubble 3m24s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth collatz 4m23s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth deliano 5m55s 50x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth fib1 39s 1x (24 fib1)
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth dupdrop 4m32s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth fib2 8m57s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth gcd1 2m56.5s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth gcd2 3m44s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth gcd3 46s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth intcalc 5m02s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth memmove 5m15s 250x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth nesting 1mil 0m37s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth nesting 32mil 1m57s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth qsort 3m34s 50x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth sieve 2m49s ??x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 4 Mhz) Z79Forth takeuchi 0m33s 200x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth 6502 7m57s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth bitsincell 5m 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth bubble 2m43s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth collatz 3m30s 1x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth deliano 4m44s 50x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth fib1 31.5s 1x (24 fib1)
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth dupdrop 3m38s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth fib2 7m09s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth gcd1 2m21s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth gcd2 2m59s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth gcd3 37s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth intcalc 4m02s 100x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth memmove 4m12s 250x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth nesting 1mil 0m29s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth nesting 32mil 1m34s 10x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth qsort 2m52s 50x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth sieve 2m15s ??x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth takeuchi 0m33s 200x
Francois Laagel Z79Forth Reference Board (Hitachi HD63C09 5 Mhz) Z79Forth palindrome 3m42s 1x