[m-dev.] Tabling methods
Fergus Henderson
fjh at cs.mu.OZ.AU
Mon Mar 16 21:48:28 AEDT 1998
On 16-Mar-1998, Oliver Hutchison <ohutch at students.cs.mu.oz.au> wrote:
> On Fri, 13 Mar 1998, Fergus Henderson wrote:
> > Actually, come to think of it, it would probably be better to make
> > `memo' imply loop checking by default; that is, to spell
> > the second one `memo' and the third `memo_without_loop_check'.
> > We don't want to encourage people to use the
> > slightly-more-efficient-but-less-safe method by default,
> > and that is what they will do if it is fewer characters to type.
> > The default should be slightly-less-efficient-but-safe, and the
> > slightly-more-efficient-but-less-safe method should be used
> > only if you're really trying to squeeze out that last drop of
> > performance.
> >
>
> Ok. We have :
> `loop_check'
> `memo'
> `memo_without_loop_check'
> `minimal_model'
>
> I will go and do it. But should I disable the loop check in the
> `memo_without_loop_check' case if there is no speed penalty?
No.
But I suppose that means the name is pretty misleading.
Off-hand I can't think of any great alternatives
(`fast_memo' sprang to mind, but that's equally misleading.)
> The only case
> where I can see a way of gaining a recordable speed bonus is model_det
> with one output argument and one or two builtin type input arguments, even
> then I suspect any gain would be marginal. All we are saving is one 1 word
> heap allocation and one test for the first call to the subgoal and then
> one de-reference for each subsequent call to the subgoal.
>
> I really favour loosing the `memo_without_loop_check' case.
OK, you've convinced me.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
More information about the developers
mailing list