This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: guile/guile-core/libguile async.h coop-defs.h ...


Maciej Stachowiak <mstachow@alum.mit.edu> writes:

> Mikael Djurfeldt wrote:
> > 
> > "Greg J. Badros" <gjb@cs.washington.edu> writes:
> > 
> > > It was preceded by some discussion -- see the thread started at:
> > >
> > > http://sourceware.cygnus.com/ml/guile/1999-12/msg00229.html
> > 
> > It is indeed precarious first to quit reading the guile list, and,
> > then, complaining that there hasn't been discussions...  Why is
> > life so complicated?  :(
> > 
> > > The "massively" is only until I remove all the spurious SCM_NIMP() from
> > > the guile source.  Once that is done, it'll be a rare case where the
> > > code expands any differently than before.
> > 
> > I'm thinking about the cases where the NIMP test is unnecessary to do.
> > I hope, at least, that someone will go through the evaluator and put
> > in sloppy versions of the tests there.
> > 
> > > And I reiterate that I got *no* negative feedback
> > 
> 
> I wasn't able to chime in at the time, but I think the change is
> generally good. However, I think it would be a good idea to follow
> the policy of checking changes that may have a significant effect
> on performance by profiling the code before and after (in the
> future, prefferably before checking in). I am forced to agree
> with Mikael's `slippery slope' argument about small incremental
> performance hits, and we should be on the lookout for that
> sort of thing.

I, too, agree with it, but point out yet again that this is something
where the post-preprocessor code is virtually unchanged except in a very 
few number of places.

> Of course, this begs the question of how much of a performance hit
> is acceptable, and for what tradeoff.
> 
> In this case, if it is really true that the tests were ever done without
> a SCM_NIMP() immediately preceding, I would expect it was only a very
> few places. Most likely then, either it won't matter to overall performance,
> or those few places are the critical places where it's really needed, and
> using sloppy versions there will not have a great averse effect on clarity.

Right, if they're even necessary.

> 
> I see some people have already started posting numbers to the list, we
> need to figure out what those mean.

Yep.

I just committed the change to remove the SCM_NIMP() from the
macro-invocation sites, so now useful benchmarks (and more importantly,
as thorough regression tests as possible) can be done.  I think next to
documentation, thorough regression tests are the most important thing
for Guile right now.

Greg

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]