[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: |
Eli Zaretskii |
Subject: |
bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation |
Date: |
Sat, 24 Jun 2023 12:21:31 +0300 |
> 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.
- 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, Cyril Arnould, 2023/06/16
- 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 <=
- 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, 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