Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: zbigniew2011@gmail.com (LIT) Newsgroups: comp.lang.forth Subject: Re: May the numbers speak - supplement Date: Wed, 11 Jun 2025 15:57:30 +0000 Organization: novaBBS Message-ID: References: <20129e22c76a2b18b0a745e9499cbd9b@www.novabbs.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="73992"; mail-complaints-to="usenet@i2pn2.org"; posting-account="ovTHZ/VLht/KDF1nKqB7PmGhjiyfUdv/DKd8kGKFjRY"; User-Agent: Rocksolid Light X-Rslight-Site: $2y$10$JRu5UoFzDfPrYkd9LsZsjeRjwmpdJ.mNCaIA1JsciBDnxKidJeM6. X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Posting-User: 8e58c9b6d1da98b6162b84d03d2307a6516add15 OK, let's move that simple optimization process a little bit further; what if we do the same even to these two variable calls at the very beginning, that are outside the loop? VARIABLE C6 ok VARIABLE C1 ok : TIMESTRSCAN2 1 [ C6 ] LITERAL ! 1 [ C1 ] LITERAL ! >R >R 0 0 R> R> OVER + 1- DO I C@ DUP 58 = IF DROP [ C6 ] LITERAL @ 60 * [ C6 ] LITERAL ! 1 [ C1 ] LITERAL ! ELSE 48 - [ C1 ] LITERAL @ * [ C6 ] LITERAL @ M* D+ 10 [ C1 ] LITERAL ! THEN -1 +LOOP ; ok : TLOOP4 TICKS PAD 8 30000 0 DO 2DUP TIMESTRSCAN2 2DROP LOOP 2DROP TICKS 2SWAP D- D. ; ok S" 12:34:56" PAD SWAP CMOVE ok TLOOP4 9 ok That's enough for today. :) --