Only authorized users are allowed to upload new attachments.

This page (revision-48) was last changed on 03-Feb-2023 16:21 by Stefan Haubenthal

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

#### Difference between version 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 and 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

 At line 3 changed 169 lines Below is a collection of some Benchmarks for Forth83 systems like VolksForth. I found most of these benchmarks on [comp.lang.forth|http://groups.google.com/group/comp.lang.forth], [Hans Bzemers|http://thebeezspeaks.blogspot.com/] [4th|http://www.xs4all.nl/~thebeez/4tH/foldtree.html] and Marcel Hendrix [benchmark collection|http://home.iae.nl/users/mhx/monsterbench.html] [{TableOfContents }] !!Integer Calculations {{{ 32000 constant intMax variable intResult : DoInt 1 dup intResult dup >r ! begin dup intMax < while dup negate r@ +! 1+ dup r@ +! 1+ r@ @ over * r@ ! 1+ r@ @ over / r@ ! 1+ repeat r> drop drop ; }}} !!Fibonacci 1 {{{ : fib1 ( n1 -- n2 ) dup 2 < if drop 1 exit then dup 1- recursive swap 2- recursive + ; }}} !!Fibonacci 2 {{{ : fib2 ( n1 -- n2 ) dup 2 < if drop 1 else dup 1- recursive swap 2 - recursive + then ; }}} !!Forth Nesting Benchmark {{{ \ Forth nesting (NEXT) Benchmark cas20101204 : bottom ; : 1st bottom bottom ; : 2nd 1st 1st ; : 3rd 2nd 2nd ; : 4th 3rd 3rd ; : 5th 4th 4th ; : 6th 5th 5th ; : 7th 6th 6th ; : 8th 7th 7th ; : 9th 8th 8th ; : 10th 9th 9th ; : 11th 10th 10th ; : 12th 11th 11th ; : 13th 12th 12th ; : 14th 13th 13th ; : 15th 14th 14th ; : 16th 15th 15th ; : 17th 16th 16th ; : 18th 17th 17th ; : 19th 18th 18th ; : 20th 19th 19th ; : 21th 20th 20th ; : 22th 21th 21th ; : 23th 22th 22th ; : 24th 23th 23th ; : 25th 24th 24th ; : 32million CR ." 32 million nest/unnest operations" 25th ; : 1million CR ." 1 million nest/unnest operations" 20th ; CR .( enter 1million or 32million ) }}} !!Forth Memory Move Benchmark {{{ \ Forth Memory Move Benchmark cas 20101204 8192 CONSTANT bufsize VARIABLE buf1 HERE bufsize 1+ allot BUF1 ! VARIABLE buf2 HERE bufsize 1+ allot BUF2 ! : test-CMOVE 49 0 DO BUF1 @ BUF2 @ bufsize CMOVE LOOP ; : test-CMOVE> 49 0 DO BUF2 @ BUF1 @ bufsize CMOVE> LOOP ; : test-MOVE> 49 0 DO BUF1 @ BUF2 @ bufsize MOVE LOOP ; : test- IF SWAP THEN OVER - REPEAT DROP ELSE DUP IF NIP ELSE 2DROP 1 THEN THEN ; }}} {{{ \ another gcd O(2) runtime speed cas 20101204 : gcd2 ( a b -- gcd ) 2DUP D0= IF 2DROP 1 EXIT THEN DUP 0= IF DROP EXIT THEN SWAP DUP 0= IF DROP EXIT THEN BEGIN 2DUP - WHILE 2DUP < IF OVER - ELSE SWAP OVER - SWAP THEN REPEAT NIP ; }}} !!Takeuchi {{{ ( takeuchi benchmark in volksForth Forth-83 ) ( see http://en.wikipedia.org/wiki/Tak_(function) ) : 3dup 2 pick 2 pick 2 pick ; : tak ( x y z -- t ) over 3 pick < NEGATE IF nip nip exit then 3dup rot 1- -rot recursive >r 3dup swap 1- -rot swap recursive >r 1- -rot recursive r> swap r> -rot recursive ; : takbench ( -- ) 0 &10000 0 DO DROP &18 &12 6 tak LOOP ; }}} the Forth Benchmarks have been moved to its own dedicated website at [https://theultimatebenchmark.org|https://theultimatebenchmark.org]
Version Date Modified Size Author Changes ... Change note
48 03-Feb-2023 16:21 0.163 kB Stefan Haubenthal to previous typo
47 01-Jan-2021 11:29 0.164 kB Carsten Strotmann to previous | to last
46 14-Dec-2014 22:43 36.466 kB Carsten Strotmann to previous | to last
45 14-Dec-2014 22:42 36.605 kB Carsten Strotmann to previous | to last
44 01-Nov-2014 18:28 36.568 kB Carsten Strotmann to previous | to last
43 01-Nov-2014 18:23 36.126 kB Carsten Strotmann to previous | to last
42 01-Nov-2014 18:22 36.126 kB Carsten Strotmann to previous | to last Results VCFB 2014
41 22-Sep-2014 21:43 34.05 kB Carsten Strotmann to previous | to last
« This page (revision-48) was last changed on 03-Feb-2023 16:21 by Stefan Haubenthal
G’day (anonymous guest) My Prefs