guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fixes to goops + light structs + 'u' slots


From: Mikael Djurfeldt
Subject: Re: fixes to goops + light structs + 'u' slots
Date: Sun, 13 Apr 2008 21:09:06 +0200

2008/4/13, Ludovic Courtès <address@hidden>:
> > I have heard that in a well-done CLOS implementation, accessors are are
>  > generally faster than slot-ref, because they can perform this class/slot
>  > allocation calculation once, and have the method implementation just
>  > dispatch using that table, compiling down to struct-ref instead of
>  > slot-ref. So working this into accessors and method compilation would be
>  > one way to do this.
>
> Yeah.  More pragmatically, things like SRFI-9 accessors could be
>  implemented as applicable SMOBS:
>
>   http://thread.gmane.org/gmane.lisp.guile.devel/6716

I think it's a good idea to read and understand the code before
planning changes.  At least given the state of Guile at the point when
GOOPS accessors were implemented, the current imlementation was
superior to both a slot-ref-based and a SMOB-based implementation.
This is because dispatching a smob took longer time for the evaluator
than interpreting the current special form-based solution
(@assert-bound-ref).  Note that the current implementation *does*
compile in the slot position into this form and indeed *has* the
property which Andy mentions above.  Also, SMOB-based accessors would
be more heavyweight with regard to class creation and memory
consumption than the current solution.

In any case, *please* always benchmark changes like this against previous code.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]