[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Crashes in "C-h h"
From: |
Pip Cet |
Subject: |
Re: Crashes in "C-h h" |
Date: |
Thu, 4 Jul 2019 04:50:17 +0000 |
On Wed, Jul 3, 2019 at 9:05 PM Paul Eggert <address@hidden> wrote:
> >> As Eli's revised code suggests, if n is in fixnum range, then instead of
> >> (FIXNUMP (x) && XFIXNUM (x) == n) it's typically a bit cleaner (and
> >> faster) to
> >> write EQ (x, make_fixnum (n)).
>
> > It normally shouldn't matter either way, but in that case the
> > comparison is done in a loop, so the make_fixnum call can be done just
> > once, outside the loop, which AFAIU makes the loop a tad faster.
>
> Although it indeed doesn't matter normally, the EQ+make_fixnum version
> should be smaller and faster in typical use, even without hoisting the
> make_fixnum out of a loop.
When they're equivalent, EQ+make_fixnum seems more readable to me, too.
> I just now ran the attached microbenchmark on
> a Xeon E5-2640 v2 with code compiled by GCC 9.1 x86-64, and got these
> results:
Funnily, I get the same timings for each of the three versions on this machine:
model name : Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
with trunk GCC.
But the assembly code generated is clearly better for the make_fixnum
version (as a nitpick, f and g aren't equivalent, but the code
produced is worse for f even with assume()s that make it equivalent to
g).
- Re: Crashes in "C-h h", (continued)
- Re: Crashes in "C-h h", Paul Eggert, 2019/07/04
- Re: Crashes in "C-h h", Pip Cet, 2019/07/05
- Re: Crashes in "C-h h", Eli Zaretskii, 2019/07/05
- Re: Crashes in "C-h h", Pip Cet, 2019/07/05
- Re: Crashes in "C-h h", Eli Zaretskii, 2019/07/05
- Re: Crashes in "C-h h", Paul Eggert, 2019/07/05
- Re: Crashes in "C-h h", Eli Zaretskii, 2019/07/06
- Re: Crashes in "C-h h", VanL, 2019/07/06
- Re: Crashes in "C-h h", Paul Eggert, 2019/07/06
- [OffTopic] Re: Crashes in "C-h h", VanL, 2019/07/11
- Re: Crashes in "C-h h",
Pip Cet <=
- Re: Crashes in "C-h h", Eli Zaretskii, 2019/07/01
Re: Crashes in "C-h h", Robert Pluim, 2019/07/01
Re: Crashes in "C-h h", Martin, 2019/07/02