At Wed, 20 Oct 2010 11:36:58 -0600,
Doug Williams wrote:
> I'm not sure I understand what you're saying Matthew.
> 
> On Wed, Oct 20, 2010 at 8:56 AM, Matthew Flatt <mfl...@cs.utah.edu> wrote:
> > Overall, keep in mind that changes to vector contracts mean that
> > vectors can be wrapped with chaperones. That's why `unsafe-vector-ref'
> > may need to change to `unsafe-vector*-ref', and it may explain
> > performance differences in general.

Contracted vectors are now wrapped in chaperones. unsafe-vector-ref
works only on raw vectors, not on chaperoned vectors. Therefore, if
you use unsafe-vector-ref on a contracted vector, bad things happen.

unsafe-vector*-ref and other procedures have been introduced to work
on both plain vectors and chaperoned vectors. Since they have to check
for chaperones, they're a bit slower than unsafe-vector-ref, but
they're still faster than plain vector-ref.

Vincent
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to