Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!news.quux.org!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: mhx@iae.nl (mhx) Newsgroups: comp.lang.forth Subject: Re: May the numbers speak Date: Thu, 12 Jun 2025 08:12:50 +0000 Organization: novaBBS Message-ID: <74f2e030895c9c5dbdf233a8f7489c34@www.novabbs.com> References: <20129e22c76a2b18b0a745e9499cbd9b@www.novabbs.com> <73357bfe46cea40d8c795ee213cf77c0a0a53d86@i2pn2.org> <102dnba$2frp7$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="165843"; mail-complaints-to="usenet@i2pn2.org"; posting-account="J+nubxJRM7ncpF4l6KLO+OONWmFAYJHVJegfwQXJ8vc"; User-Agent: Rocksolid Light X-Rslight-Site: $2y$10$QEFd4MXZHOt5ZhBh50WHr.Nzb2VLZoZrsLcxyMXgd2wWiRMaEL/Jq X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Posting-User: 4e0dc1fdad1ead10b39e7eb5db19bf73d73e3ab3 There may be several issues on a real computer which make these considerations immaterial: ANEW -timescan : dtimescan ( addr count -- d ) over swap + >r >r 0. r> 0 begin over r@ < while over c@ ':' = if swap >r s>d d+ #60 1 m*/ r> 0 else #10 * over c@ [char] 0 - + endif swap 1+ swap repeat -r nip s>d d+ ; : timestrscan ( addr count -- d ) 1 1 LOCALS| c6 c1 | 0. 2SWAP OVER + 1- ?DO I C@ DUP ':' = IF DROP c6 #60 * TO c6 1 TO C1 ELSE '0' - C1 * C6 M* D+ #10 TO C1 ENDIF -1 +LOOP ; : TEST ( -- ) CR ." \ dtimescan : " S" 12:34:56" TICKS-RESET dtimescan TICKS? UD. ." clock ticks elapsed, " UD. CR ." \ timestrscan : " S" 12:34:56" TICKS-RESET timestrscan TICKS? UD. ." clock ticks elapsed, " UD. ; TEST FORTH> in \ dtimescan : 1258 clock ticks elapsed, 45296 \ timestrscan : 419 clock ticks elapsed, 45296 ok FORTH> TEST TEST TEST \ dtimescan : 1258 clock ticks elapsed, 45296 \ timestrscan : 419 clock ticks elapsed, 45296 \ dtimescan : 419 clock ticks elapsed, 45296 \ timestrscan : 420 clock ticks elapsed, 45296 \ dtimescan : 419 clock ticks elapsed, 45296 \ timestrscan : 420 clock ticks elapsed, 45296 FORTH> A 'clock tick' is approximately 0.2ns. -marcel