10 hours ago, Robby Findler wrote: > On Sun, Apr 24, 2011 at 8:06 PM, Eli Barzilay <e...@barzilay.org> wrote: > > > > I don't think that there would be a locality issue -- you never > > dereference the slow pointer. > > I thought the way it worked was you had two pointers into the list > and you did cdr on one and cddr on the other and checked if they > were eq?.
Yeah, and I think that the cdr pointers usually don't have a problem (since long lists tend to be allocated in a short time), vs the car pointers that are probably more random. But with a GC in the way there's probably enough noise to make it not be a problem. 10 hours ago, Matthew Flatt wrote: > Also, if a program uses `assoc' on a list that's long enough for > locality of the turtle to matter, then it probably has bigger > problems. [...] Yeah, that sounds reasonable -- I'd expect the extra variable to be the extra cost. > I don't think the current cycle-checking cost is significant. (I'll try that.) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev