Deutsch   English   Français   Italiano  
<a6c9d8a0aa7e1046af7948093e07cff0@www.novabbs.com>

View for Bookmarking (what is this?)
Look up another Usenet article

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: Stack vs stackless operation
Date: Wed, 26 Feb 2025 12:35:48 +0000
Organization: novaBBS
Message-ID: <a6c9d8a0aa7e1046af7948093e07cff0@www.novabbs.com>
References: <591e7bf58ebb1f90bd34fba20c730b83@www.novabbs.com> <34df278ef0a52d0eab9d035f45795389@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="1869659"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="J+nubxJRM7ncpF4l6KLO+OONWmFAYJHVJegfwQXJ8vc";
User-Agent: Rocksolid Light
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Posting-User: 4e0dc1fdad1ead10b39e7eb5db19bf73d73e3ab3
X-Rslight-Site: $2y$10$2vWP4H.f0GNREd.kcuqyFeB2S1.CjhY1c/QgAaOnuezqhZFZVTvwG

Results for iForth64.

The runtime of test3 is remarkable. I think not much can be done
about it, given the context.

-marcel

---

VARIABLE V1   7 V1 !
VARIABLE V2   8 V2 !
VARIABLE V3   9 V3 !

: :=: ( a b -- ) \ exchange values among two variables
	OVER @ >R  DUP @   ROT !   R> SWAP ! ;

: ++  ( a -- )   \ increment variable by one
	1 SWAP +! ;

: +>  ( a b c -- ) \ add two variables then store result into third one
	-ROT  @  SWAP @  +  SWAP ! ;

: t1a 	V1 @ V2 @ + V3 ! ;   		   : t1b   V1 V2 V3 +>  ;
: t2a	1 V1 +! ;            		   : t2b   V1 ++ ;
: t3a	V1 @ V3 ! V2 @ V1 !  V3 @ V2 ! ;   : t3b   V1 V2 :=: ;

: TESTa  S" TIMER-RESET #100000 0 DO  #10000 0 DO " EVALUATE ; IMMEDIATE
: TESTb  S" LOOP LOOP 3 SPACES .ELAPSED " EVALUATE ; IMMEDIATE

	 : test1 CR ." \ TEST1 : " TESTa t1a TESTb   TESTa t1b TESTb ;
	 : test2 CR ." \ TEST2 : " TESTa t2a TESTb   TESTa t2b TESTb ;
	 : test3 CR ." \ TEST3 : " TESTa t3a TESTb   TESTa t3b TESTb ;

: TESTS  test1 test2 test3 ;

TESTS
\ TEST1 :    1.646 seconds elapsed.   1.661 seconds elapsed.
\ TEST2 :    1.778 seconds elapsed.   1.728 seconds elapsed.
\ TEST3 :    2.194 seconds elapsed.   1.645 seconds elapsed. ok