[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilati
From: |
Deus Max |
Subject: |
bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation |
Date: |
Sat, 24 Jun 2023 17:41:30 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
On 2023-06-24T12:21 Sat, Eli Zaretskii wrote:
>> From: Deus Max <deusmax@gmx.com>
>> Cc: Arash Esbati <arash@gnu.org>, 63365@debbugs.gnu.org, acorallo@gnu.org,
>> svraka.andras@gmail.com, cyril.arnould@outlook.com
>> Date: Sat, 24 Jun 2023 12:17:11 +0300
>>
>> On 2023-06-23T15:15 Fri, Eli Zaretskii wrote:
>>
>> >> From: Arash Esbati <arash@gnu.org>
>> >> Cc: Andrea Corallo <acorallo@gnu.org>, cyril.arnould@outlook.com,
>> >> 63365@debbugs.gnu.org, svraka.andras@gmail.com
>> >> Date: Fri, 23 Jun 2023 13:41:10 +0200
>> >>
>> >> > Also, why are you using -O3? That is not recommended when building
>> >> > Emacs.
>> >>
>> >> I wasn't aware of that. Can you elaborate why -O3 isn't recommended?
>> >
>> > In a nutshell, it bloats the code (due to excessive inlining), with no
>> > real effect on speed. The inner loops in Emacs are very large, and
>> > thus the techniques used by -O3 to speed up code (loop unrolling etc.)
>> > don't really work. Moreover, they could make things worse because the
>> > larger loops might no longer fit into the L1 cache of the CPU.
>> >
>> > The -O3 is well suited to speed up relatively simple algorithms with
>> > tight loops. Emacs has very few of those, in the places that matter
>> > for observable performance.
>>
>> Interesting.
>> This recommendation and the explanation are worth documenting somewhere.
>> Shouldn't a new bug be opened on documenting the GCC -O3 recommendation?
>
> I don't think it's our business to document this. The default build
> procedure correctly uses -O2. People who use non-default compilation
> switches should know what they are doing.
Then whose business is it?
The default of course is correct, also it is not intuitive that -O3 is
wrong. People who...should know what they are doing, but a little
explanation goes a long way. It also helps newcomers catch up.
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, (continued)
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Arash Esbati, 2023/06/22
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Eli Zaretskii, 2023/06/23
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Arash Esbati, 2023/06/23
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Eli Zaretskii, 2023/06/23
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Arash Esbati, 2023/06/23
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Deus Max, 2023/06/24
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Eli Zaretskii, 2023/06/24
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation,
Deus Max <=
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Eli Zaretskii, 2023/06/24
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Andrea Corallo, 2023/06/25
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Eli Zaretskii, 2023/06/25
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Andrea Corallo, 2023/06/25
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Eli Zaretskii, 2023/06/25
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Andrea Corallo, 2023/06/26
bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Cyril Arnould, 2023/06/17
bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Cyril Arnould, 2023/06/26