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.

Reply via email to