I don't know if it's really fixable -- equal? has to check that both arguments are symbols before producing #f, which is work that eq? doesn't do. Perhaps the difference can be reduced, though.
Sam On Thu, Sep 17, 2015, 10:13 PM Robby Findler <[email protected]> wrote: > Sounds like something I would try to fix if I had time to really focus > on the eq? semantic question :( > > On Thu, Sep 17, 2015 at 9:01 PM, Sam Tobin-Hochstadt > <[email protected]> wrote: > > Unfortunately, that's only true when eq? produces #t, which probably > isn't > > an issue when using eq? directly, but can be when using memq or similar. > > This benchmark suggests about a 10x speed difference when the symbols are > > different: http://pasterack.org/pastes/94877 > > > > Sam > > > > > > On Thu, Sep 17, 2015, 9:52 PM Robby Findler <[email protected] > > > > wrote: > >> > >> FWIW, if you use equal? in those cases, you'll get the same > >> performance behavior and you will have fewer eq?s to audit when things > >> go wonky. > >> > >> ;) > >> > >> Robby > >> > >> On Thu, Sep 17, 2015 at 8:36 PM, Neil Van Dyke <[email protected]> > >> wrote: > >> > Whew. :) I only rarely have a non-symbol use for `eq?`, but I use > `eq?` > >> > heavily for symbols in everyday application code. > >> > > >> > Robby Findler wrote on 09/17/2015 09:27 PM: > >> >> > >> >> eq? on symbols is a special part of the specification and that seems > >> >> benign to me, all things considered. The "giant hash in the sky" that > >> >> makes sure that works isn't exactly trouble free, but we seem to have > >> >> it under control. > >> > > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "Racket Users" group. > >> > To unsubscribe from this group and stop receiving emails from it, send > >> > an > >> > email to [email protected]. > >> > For more options, visit https://groups.google.com/d/optout. > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "Racket Users" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to [email protected]. > >> For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

