2008/4/16, Mikael Djurfeldt <[EMAIL PROTECTED]>: > 2008/4/16, Andy Wingo <[EMAIL PROTECTED]>: > > > On Sun 13 Apr 2008 21:09, "Mikael Djurfeldt" <[EMAIL PROTECTED]> writes: > > > I then ran accessor ref tests on objects that necessarily had their slots > > bound, and thus would go through @assert-bound-ref: > > > > > (3) If the determination can be made that the slot will never be > > unbound, and we compile to the @assert-bound-ref case, then > > accessor refs are indeed faster than slot-ref. > > > [...] > > > I would speculate, Mikael, that it is case (3) that you are recalling. > > > Right, although it is, in fact, @slot-ref which is the special form (I > said "@assert-bound-ref" by mistake). Try the same benchmark > accessing the third or fourth slot.
To be more clear: It is only for bound slots that the accessor can be compiled down to the special form @slot-ref which was significantly faster than other tested access methods, using that version of Guile on the type hardware which was available then, at the time goops was developed. It is new to me to see such small differences in timing. Maybe it is also worth rolling up the loop a bit so that you have a sequence of accesses in the loop body?
