\ (* \ * LANGUAGE : ANS Forth \ * PROJECT : Forth Environments \ * DESCRIPTION : Test threading speed of `inner interpreter' \ * CATEGORY : Benchmarks \ * AUTHOR : Marcel Hendrix \ * LAST CHANGE : October 5th, 1991 MHX \ *) \ NEEDS -miscutil \ MARKER -thread \ (* THREAD-TEST takes 13.35 seconds on 12.5 MHz AT *) \ (* 50 MHz '486: 0.550 seconds *) [DEFINED] 4TH# [IF] [NEEDS lib/timer.4th] [THEN] \ CODE bottom gcall, END-CODE \ 3 seconds : bottom ; \ 4 seconds : 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 ; \ -- do 2^20 :; pairs : 21st 20th 20th ; : 22nd 21st 21st ; : 23rd 22nd 22nd ; : 24th 23rd 23rd ; : 25th 24th 24th ; \ -- 2^25 = 32 million pairs : 32-MILLION CR ." 32 million nest/unnest pairs take " TIMER-RESET 25th .ELAPSED CR ." (66 MHz '486: 9.777 seconds.)" ; : 1-MILLION CR ." 1 million nest/unnest pairs take " TIMER-RESET 20th .ELAPSED CR ." (66 MHz '486: 0.281 seconds.)" ; CR .( Enter: 1-MILLION or 32-MILLION ) \ (* End of Source *) [DEFINED] 4TH# [IF] cr cr 32-million [THEN]