|
From: | Paul Eggert |
Subject: | Re: Crashes in "C-h h" |
Date: | Thu, 4 Jul 2019 00:15:12 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 |
Eli Zaretskii wrote:
Is this with USE_LSB or without? I think we need to time both variants.
That benchmark was with USE_LSB. I see no reason to think the !USE_LSB case would cause FIXNUMP+XFIXNUM to beat EQ+make_fixnum, but just to double-check here are the timings for that benchmark compiled with the additional GCC flags -m32 -DWIDE_EMACS_INT (the only significant !USE_LSB platform these days) and with 'long' replaced by 'long long' to get the loop to work on a 32-bit platform:
1030-lnxsrv09 $ time ./a.out 0 0 real 0m51.933s user 0m51.927s sys 0m0.001s 1031-lnxsrv09 $ time ./a.out 0 0 0 real 2m16.960s user 2m16.960s sys 0m0.000s 1032-lnxsrv09 $ time ./a.out 0 0 0 0 real 0m59.678s user 0m59.677s sys 0m0.001sThis indicates that on this !USE_LSB platform, the EQ+make_fixnum code is about ten times faster than the FIXNUMP+XFIXNUM code on this benchmark. I'm not surprised by the performance disparity, as branch-prediction failures can be pretty expensive.
[Prev in Thread] | Current Thread | [Next in Thread] |