[racket-dev] Optional equality predicate for assoc and member

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Sun Apr 24 20:57:11 EDT 2011

Matthew Flatt wrote at 04/24/2011 07:58 PM:
> At Sun, 24 Apr 2011 19:24:18 -0400, Neil Van Dyke wrote:
>> The modest performance hit for "assq" on 32-bit (my workstation) right now is a small price to pay for doubling the speed on  64-bit (lots of servers).
> I forgot to reply to that point before. Unfortunately, I don't think you're going to see the same effect on other machines.

Oh, you did say something about influence of a particular 64-bit 
compiler earlier, but in all my excitement, I didn't make the connection.

If, at the time this new "assq" makes it into a Racket release, the new 
"assq" turns out to be significantly slower than the old C one, can the 
old one ("kernel:assq"?) be exposed for programs to call directly?

A performance regression in "assq" would adversely impact some 
performance-sensitive legacy code that saw a lot of micro-optimizing 
last year.  Having the old "assq" available as a fallback option would 
be reassuring.

BTW, I do like the idea of "assq" being pure Racket code, where it's 
more amenable to ongoing work on optimizers, and I don't mean to sound 
critical of this process.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110424/a0816075/attachment.html>

Posted on the dev mailing list.