Vincent St-Amour wrote at 04/22/2011 04:26 PM:
With this patch, assoc and member are implemented in Racket. They are currently implemented in C. I haven't measured the performance impact of the change, but I can do it if someone believes it's necessary.
Testing performance impact of reimplementing these procedures seems appropriate to me. For one thing, they are old RnRS procedures that performance-sensitive people have assumed are implemented about as fast as they could be for general-purpose linear searches.
Also, if it turned out that "assoc" (or "assq") took a significant adverse performance hit, that might create a big barrier to a particular production system upgrading its Racket version.
I imagine you might even make these procedures faster by moving from C to pure Racket implementations, where there is more info from which to optimize calls to the procedures.
-- http://www.neilvandyke.org/ _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev