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


Groups > comp.lang.forth > #43794

Re: Question about checking the stack

Path csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
From Paul Rubin <no.email@nospam.invalid>
Newsgroups comp.lang.forth
Subject Re: Question about checking the stack
Date Wed, 25 Nov 2015 18:00:22 -0800
Organization A noiseless patient Spider
Lines 41
Message-ID <8737vtfrk9.fsf@nightsong.com> (permalink)
References <b2176cc4-7ef3-4ba8-9270-6fed74cf429f@googlegroups.com> <87io4qh7fm.fsf@nightsong.com> <juednR9M3ch-9sjLnZ2dnUU7-Yf46u6z@supernews.com> <87k2p5g4n0.fsf@nightsong.com> <FMmdnUE8u_yT1svLnZ2dnUU7-Yn46u6z@supernews.com>
Mime-Version 1.0
Content-Type text/plain
Injection-Info mx02.eternal-september.org; posting-host="d09d25b6b873a1567c8bb21cd9fda25b"; logging-data="19588"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18XeRjEBuNXRi0+rfOFZ6sX"
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
Cancel-Lock sha1:pXQMaBkmOPEobshirTT2RHu5A1o= sha1:07DHVxDmTMWpw7RQKq3PHKzUXec=
Xref csiph.com comp.lang.forth:43794

Show key headers only | View raw


"Elizabeth D. Rather" <erather@forth.com> writes:
> No computer cycles are "free".

Even a dinky MCU runs at millions of cycles per second, and sitting
typing interactively at it generally won't use even 1% of them.
Do you have a way of saving the rest for later?

>  And doubling the cost of something that is happening as frequently as
> stack access in Forth is simply not worth it.

Are there some benchmarks showing the cost doubling?  Obviously it will
cost something but I'd hope it isn't as bad as doubling.  Even if it
does double, so what?  You use 2% of your CPU instead of 1%.

> Actually, we did write a special Forth with buckets of error checking
> for use in classes some years ago. It had the effect of tremendously
> slowing down the learning process

Gforth effectively does such a check (it uses a memory protection trap
instead of a runtime comparison, but it still signals the error where it
happens).  I've found it very helpful.

>> What happens if you type dup with an empty stack?
> You dup the stack underflow position (which contains a zero). Why
> would you want to do that?

It can happen by accident during development.  Obviously it's an error:
so why should the programmer spend her time hunting it down, instead of
having the computer flag it immediately?

> We are working mostly with low-end microcontrollers, where cycles
> count, but even on super-fast PCs it has just never proven genuinely
> helpful.

I haven't written any Forth code so far where I cared in the slightest
how fast it ran-- i.e., a 2x or even 10x slowdown would not have been
noticed.  Even speed-critical and realtime applications tend to be like
that.  There are a few hot spots that have to be optimized carefully,
and the rest of the code should just do whatever is simplest and safest.
And the speed critical parts can usually run slow during debugging,
under simulation if necessary.

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


Thread

Question about checking the stack Chris Curl <ccurl609@gmail.com> - 2015-11-24 22:31 -0800
  Re: Question about checking the stack Lars Brinkhoff <lars.spam@nocrew.org> - 2015-11-25 07:46 +0100
    Re: Question about checking the stack Chris Curl <ccurl609@gmail.com> - 2015-11-24 23:09 -0800
      Re: Question about checking the stack Ron Aaron <rambamist@gmail.com> - 2015-11-25 09:16 +0200
  Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-24 23:19 -0800
    Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-24 22:05 -1000
      Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-25 13:17 -0800
        Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-25 13:58 -1000
          Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-25 18:00 -0800
            Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-25 17:44 -1000
              Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-25 23:05 -0800
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-25 21:38 -1000
                Re: Question about checking the stack Ron Aaron <rambamist@gmail.com> - 2015-11-26 09:49 +0200
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-25 22:42 -1000
                Re: Question about checking the stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-26 14:51 +0000
                Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-30 13:00 -0800
                Re: Question about checking the stack hughaguilar96@gmail.com - 2015-11-30 21:54 -0800
                Re: Question about checking the stack Julian Fondren <julian.fondren@gmail.com> - 2015-12-01 04:24 -0800
                Re: Question about checking the stack Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-12-01 05:07 -0800
                Re: Question about checking the stack Julian Fondren <julian.fondren@gmail.com> - 2015-12-01 06:02 -0800
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-12-01 19:30 -1000
                Re: Question about checking the stack Albert van der Horst <albert@spenarnc.xs4all.nl> - 2015-12-01 14:47 +0000
                Re: Question about checking the stack Chris Curl <ccurl609@gmail.com> - 2015-12-01 11:56 -0800
                Re: Question about checking the stack Alfred Singlestone <vitonis@gmail.com> - 2015-12-03 05:48 -0800
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-12-03 09:24 -1000
                Re: Question about checking the stack Chris Curl <ccurl609@gmail.com> - 2015-12-03 21:10 -0800
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-12-03 20:52 -1000
                Re: Question about checking the stack Chris Curl <ccurl609@gmail.com> - 2015-12-04 06:08 -0800
                Re: Question about checking the stack Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-12-01 20:32 +0000
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-12-01 19:32 -1000
                Re: Question about checking the stack Lars Brinkhoff <lars.spam@nocrew.org> - 2015-12-01 08:18 +0100
                Re: Question about checking the stack Alfred Singlestone <vitonis@gmail.com> - 2015-11-27 06:25 -0800
                Re: Question about checking the stack Ron Aaron <rambamist@gmail.com> - 2015-11-28 17:55 +0200
                Re: Question about checking the stack mhx@iae.nl - 2015-11-28 08:24 -0800
                Re: Question about checking the stack Ron Aaron <rambamist@gmail.com> - 2015-11-28 20:54 +0200
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-28 11:32 -1000
                Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-28 19:17 -0800
                Re: Question about checking the stack Ron Aaron <rambamist@gmail.com> - 2015-11-29 07:30 +0200
                Re: Question about checking the stack Alfred Singlestone <vitonis@gmail.com> - 2015-11-29 09:41 -0800
                Re: Question about checking the stack minforth@arcor.de - 2015-11-30 01:48 -0800
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-30 08:03 -1000
                Re: Question about checking the stack hughaguilar96@gmail.com - 2015-11-28 19:09 -0800
                Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-26 00:03 -0800
                Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-11-25 22:49 -1000
                Re: Question about checking the stack hughaguilar96@gmail.com - 2015-11-26 10:59 -0800
            Re: Question about checking the stack franck.bensusan@gmail.com - 2015-11-25 21:03 -0800
          Re: Question about checking the stack Alfred Singlestone <vitonis@gmail.com> - 2015-11-27 06:14 -0800
  Re: Question about checking the stack "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-11-25 04:54 -0500
  Re: Question about checking the stack François <francois.ganza@wanadoo.fr> - 2015-11-25 03:09 -0800
  Re: Question about checking the stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-25 12:53 +0000
    Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-25 09:02 -0800
      Re: Question about checking the stack Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-25 18:53 +0100
        Re: Question about checking the stack Paul Rubin <no.email@nospam.invalid> - 2015-11-25 12:01 -0800
      Re: Question about checking the stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-25 17:26 +0000
  Re: Question about checking the stack François <francois.ganza@wanadoo.fr> - 2015-11-25 13:51 -0800
  Re: Question about checking the stack Chris Curl <ccurl609@gmail.com> - 2015-11-28 09:29 -0800
    Re: Question about checking the stack Alfred Singlestone <vitonis@gmail.com> - 2015-11-28 12:03 -0800
  Re: Question about checking the stack François <francois.ganza@wanadoo.fr> - 2015-12-01 06:15 -0800
  Re: Question about checking the stack Chris Curl <ccurl609@gmail.com> - 2015-12-01 14:05 -0800
    Re: Question about checking the stack "Elizabeth D. Rather" <erather@forth.com> - 2015-12-01 19:35 -1000
    Re: Question about checking the stack dunno <dunno@dunno.dunno> - 2015-12-03 03:40 +0000

csiph-web