[racket-dev] Optional equality predicate for assoc and member
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/