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 <ro...@eecs.northwestern.edu>
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
> <sa...@cs.indiana.edu> 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 <ro...@eecs.northwestern.edu
> >
> > 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 <n...@neilvandyke.org>
> >> 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 racket-users+unsubscr...@googlegroups.com.
> >> > 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 racket-users+unsubscr...@googlegroups.com.
> >> 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 racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to