Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #19736

Re: Loop structures

From mhx@iae.nl (Marcel Hendrix)
Subject Re: Loop structures
Newsgroups comp.lang.forth
Message-ID <69951389018434@frunobulax.edu> (permalink)
Date 2013-02-14 22:08 +0200
References <ffc60550-d058-4779-8214-f2f7a6bfa2fb@hq4g2000vbb.googlegroups.com>
Organization Wanadoo

Show all headers | View raw


Mark Wills <forthfreak@gmail.com> writes Re: Loop structures

> On Feb 13, 4:23 pm, m.a.m.hend...@tue.nl wrote:
>> > > - Show quoted text - Just timed it by hand with a stop-watch!
>>
>> Are you telling us that on your system EMIT and TYPE are comparable in speed to a BRANCH ( again )?
>
> No.

I assume that TYPE is one of the slowest high-level routines in your Forth, yes?
On the other hand, the difference between AGAIN and 0 UNTIL is as short as one can 
have it (in high-level). 

Your : test2 0 begin dup $. 1- dup 0= until ; takes 174 seconds.

With my Forth

: test local #times ?ms #times 0 ?do ." 12345" loop cr ?ms swap - #1000 #times */ . ." us" ;
#1000 test \ prints 191 us. 

The following
: doagain ( ix -- ms ) ?ms swap begin  dup 0= if   drop ?ms swap - exit  endif  1-    again ;
: dountil ( ix -- ms ) ?ms swap begin  dup 0= if   drop ?ms swap - exit  endif  1-  0 until ;
: diff  dup >R doagain  R@ dountil - ( ms) #1000000000 ( ps) R> */ . ." [ps/iter]" ;

#1000000000 diff many -232 [ps/iter] -199 [ps/iter] -239 [ps/iter] -263 [ps/iter] ok

.. says that AGAIN is about 200ps faster than 0 UNTIL.

So your test2 is trying to detect a 200ps difference in a routine that takes 191us 
overall, or a 100 * 200ps/191us ~ 1e-4 % delta. However, you report a 5% difference 
in time. This means that your Forth's TYPE is 50,000 times faster than mine? That is
a mind-boggling number.

[..]
> I sure all the above is obvious to you, so my apologies. I'm afraid I
> don't understand the rest of your question, or Stephen's subsequent
> comment.

No, your numbers are far from obvious to me and my (idle) curiosity is genuine.

-marcel

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

 Loop structures kenney@cix.compulink.co.uk - 2013-02-06 03:55 -0600
  Re: Loop structures Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-02-06 04:24 -0600
  Re: Loop structures Pablo Hugo Reda <pabloreda@gmail.com> - 2013-02-06 05:38 -0800
  Re: Loop structures Hugh Aguilar <hughaguilar96@yahoo.com> - 2013-02-06 10:43 -0800
    Re: Loop structures "Rod Pemberton" <do_not_have@notemailnotz.cnm> - 2013-02-08 03:46 -0500
  Re: Loop structures awegel@arcor.de (Alex Wegel) - 2013-02-06 20:19 +0100
    Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-07 20:27 +1100
      Re: Loop structures Coos Haak <chforth@hccnet.nl> - 2013-02-07 17:03 +0100
        Re: Loop structures awegel@arcor.de (Alex Wegel) - 2013-02-08 00:43 +0100
          Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-09 20:52 +1100
            Re: Loop structures Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-02-09 18:05 -0600
              Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-10 11:48 +1100
            Re: Loop structures awegel@arcor.de (Alex Wegel) - 2013-02-11 01:41 +0100
              Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-11 12:56 +1100
                Re: Loop structures "Elizabeth D. Rather" <erather@forth.com> - 2013-02-10 17:54 -1000
                Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-12 15:11 +1100
                Re: Loop structures Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-02-13 09:49 -0600
                Re: Loop structures Mark Wills <forthfreak@gmail.com> - 2013-02-11 23:32 -0800
                Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-13 12:34 +1100
                Re: Loop structures "Elizabeth D. Rather" <erather@forth.com> - 2013-02-12 15:49 -1000
                Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-13 14:48 +1100
                Re: Loop structures Alex McDonald <blog@rivadpm.com> - 2013-02-12 23:02 -0800
                Re: Loop structures Alex McDonald <blog@rivadpm.com> - 2013-02-12 23:29 -0800
                Re: Loop structures albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-02-13 13:35 +0000
                Re: Loop structures Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-13 15:17 +0100
                Re: Loop structures Alex McDonald <blog@rivadpm.com> - 2013-02-13 09:01 -0800
                Re: Loop structures albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-02-13 20:22 +0000
                Re: Loop structures anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-14 16:29 +0000
                Re: Loop structures albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-02-14 18:41 +0000
                Re: Loop structures Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-14 21:44 +0100
                Re: Loop structures albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-02-14 21:06 +0000
                Re: Loop structures Bernd Paysan <bernd.paysan@gmx.de> - 2013-02-14 23:51 +0100
                Re: Loop structures mhx@iae.nl (Marcel Hendrix) - 2013-02-15 00:56 +0200
                Re: Loop structures anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-15 09:53 +0000
                Re: Loop structures m.a.m.hendrix@tue.nl - 2013-02-15 03:36 -0800
                Re: Loop structures anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-02-15 09:44 +0000
                Re: Loop structures Lars Brinkhoff <lars.spam@nocrew.org> - 2013-03-04 13:04 +0100
                Re: Loop structures albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-03-04 13:22 +0000
                Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-15 13:09 +1100
                Re: Loop structures Alex McDonald <blog@rivadpm.com> - 2013-02-14 19:21 -0800
                Re: Loop structures albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-02-15 13:01 +0000
                Re: Loop structures Alex McDonald <blog@rivadpm.com> - 2013-02-15 07:51 -0800
                Re: Loop structures Brad Eckert <hwfwguy@gmail.com> - 2013-02-13 10:51 -0800
                Re: Loop structures "Ed" <invalid@nospam.com> - 2013-02-15 13:11 +1100
                Re: Loop structures "Elizabeth D. Rather" <erather@forth.com> - 2013-02-14 21:31 -1000
                Re: Loop structures Mark Wills <forthfreak@gmail.com> - 2013-02-13 00:18 -0800
                Re: Loop structures alberto@hal-pc.org - 2013-02-13 14:27 +0000
                Re: Loop structures Mark Wills <forthfreak@gmail.com> - 2013-02-13 07:08 -0800
                Re: Loop structures m.a.m.hendrix@tue.nl - 2013-02-13 08:23 -0800
                Re: Loop structures stephenXXX@mpeforth.com (Stephen Pelc) - 2013-02-13 17:32 +0000
                Re: Loop structures Mark Wills <forthfreak@gmail.com> - 2013-02-13 23:17 -0800
                Re: Loop structures stephenXXX@mpeforth.com (Stephen Pelc) - 2013-02-14 10:53 +0000
                Re: Loop structures stephenXXX@mpeforth.com (Stephen Pelc) - 2013-02-14 13:42 +0000
                Re: Loop structures "Clyde W. Phillips Jr." <cwpjr02@gmail.com> - 2013-02-14 21:25 -0800
                Re: Loop structures "Clyde W. Phillips Jr." <cwpjr02@gmail.com> - 2013-02-14 21:18 -0800
                Re: Loop structures Mark Wills <forthfreak@gmail.com> - 2013-02-13 23:15 -0800
                Re: Loop structures mhx@iae.nl (Marcel Hendrix) - 2013-02-14 22:08 +0200
                Re: Loop structures Mark Wills <forthfreak@gmail.com> - 2013-02-14 22:53 -0800
                Re: Loop structures awegel@arcor.de (Alex Wegel) - 2013-02-12 16:00 +0100
  Re: Loop structures kenney@cix.compulink.co.uk - 2013-02-13 03:49 -0600

csiph-web