Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #45032
| Path | csiph.com!aioe.org!.POSTED!not-for-mail |
|---|---|
| From | Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> |
| Newsgroups | comp.lang.forth |
| Subject | Re: Stack space size |
| Date | Fri, 22 Jan 2016 17:10:39 -0500 |
| Organization | Aioe.org NNTP Server |
| Lines | 47 |
| Message-ID | <20160122171039.46cf004e@_> (permalink) |
| References | <ff9ea42c-37b1-496c-9bad-449ca7805010@googlegroups.com> |
| NNTP-Posting-Host | n4wpt9zq8xR26Ttf9mo2BA.user.gioia.aioe.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=US-ASCII |
| Content-Transfer-Encoding | quoted-printable |
| X-Complaints-To | abuse@aioe.org |
| X-Newsreader | Claws Mail 3.13.1 (GTK+ 2.24.10; x86_64-unknown-linux-gnu) |
| X-Notice | Filtered by postfilter v. 0.8.2 |
| Xref | csiph.com comp.lang.forth:45032 |
Show key headers only | View raw
On Thu, 21 Jan 2016 21:50:40 -0800 (PST) Brad Eckert <hwfwguy@gmail.com> wrote: > What's the typical stack space you find you need in embedded > application ... > and what things cause that to grow. From this group, my understanding is that user defined words shouldn't leave items on the data or return stacks. This means a net stack change of zero for both stacks. So, that would mean that system words are the primary source of stack bloat or growth. Most usage of stack "producers" is immediately followed by stack "consumers". You're probably interested in functionality which is "split" or wraps around other words, e.g., >R ... R> or DO ... LOOP or BEGIN ... AGAIN, etc. I.e., look for control flow and "do" and "undo" operations. The stack image for the words in your dictionary could be a useful starting point. Which words leave stuff on the stacks? > As for me, 64 cells > per task (32 cells each for data and return) is fine. I just fill > them with $55 at init and dump at run time to see how tight things > are. When you run the standard Forth test programs, like sieve, bubble, matrix, fib, quick sort, 8-queens, life, hanoi, etc, how much stack pressure do you see? Test apps should provide a good baseline reference as to whether you're about to overflow the stack. > Metrics in Phil Koopman's Stack Machines book indicate that 32-cell > data and return stacks handle whatever you throw at them, in general. Section 6.4.1. See also 6.5.3.1., which indicates slightly larger. Anton Ertl has a paper titled "Ways to Reduce the Stack Depth" which reviews various techniques. The paper basically concludes that locals are the best solution, but that other combinations of other solutions work as well. I've only skimmed one section and the summary, so you'll need to read it yourself. Rod Pemberton
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Stack space size Brad Eckert <hwfwguy@gmail.com> - 2016-01-21 21:50 -0800
Re: Stack space size hughaguilar96@gmail.com - 2016-01-21 22:00 -0800
Re: Stack space size Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-21 22:30 -0800
Small strings as ints Ron Aaron <rambamist@gmail.com> - 2016-01-22 08:41 +0200
Re: Small strings as ints Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-21 23:41 -0800
Re: Small strings as ints Ron Aaron <rambamist@gmail.com> - 2016-01-22 09:50 +0200
Re: Small strings as ints Ron Aaron <rambamist@gmail.com> - 2016-01-24 07:15 +0200
Re: Stack space size anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-22 15:31 +0000
Re: Stack space size Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-22 17:10 -0500
Re: Stack space size Coos Haak <chforth@hccnet.nl> - 2016-01-22 23:21 +0100
Re: Stack space size "Elizabeth D. Rather" <erather@forth.com> - 2016-01-22 13:28 -1000
Re: Stack space size hughaguilar96@gmail.com - 2016-01-25 21:23 -0800
Re: Stack space size "HAA" <someone@microsoft.com> - 2016-01-24 00:08 +1100
Re: Stack space size anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-26 16:23 +0000
csiph-web