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