Linux: Experimentelle Unterstützung für LTO vorgestellt

newsbot

newsbot

RSS Feed
Mit einer Serie von Patches hat Andi Kleen den Kernel um eine Unterstützung der Link Time-Optimierung (LTO) des GCC erweitert. Der Kernel-Entwickler verspricht durch die Neuerungen eine Steigerung der Geschwindigkeit. Doch auch Regressionen sich nicht ausgeschlossen.

Weiterlesen...
 
Als Beispiel kann die Optimierung von Funktionsaufrufen gelten. So weiß beispielsweise der der Compiler erst beim Linken, ob Funktionen, die nicht als static markiert wurden, vielleicht doch nie aufgerufen werden. Entsprechend kann der Linker dann reagieren, den generierten Code vereinfachen und beispielsweise unnötige Stack-Operationen eliminieren.
PHP:
#include <stdio.h>

void Foo(void)
{
    printf("Foo\n");
}

void Bar(void)
{
    printf("Bar\n");
}

int main(int argc, char *argv[])
{
    Foo();
    return 0;
}
Code:
$ gcc -o main main.c
$ nm main | grep Bar
0000000000400544 t Bar
$
Code:
$ gcc [B]-ffunction-sections -Wl,--gc-sections[/B] -o main main.c
$ nm main | grep Bar
$
Hhmm, funktioniert auch mit static deklarierten Funktionen...
 
Zuletzt bearbeitet:

Ähnliche Themen

Linux Kernel 6.7 mit BCacheFS: Updates für (i)GPUs von Nvidia und Intel, Itanium ist raus

Linux Kernel 6.3: Spectre erhält effizientere Patches und Zen 4 mehr Leistung

Linux Kernel 6.4: Update bringt initiale Unterstützung für Apples M2 [Notiz]

Ampere Computing: Zweimal 192 Kerne sind schon zu viel für Linux

Virtualisierung: VMware Workstation 17 Pro und Player 17 vorgestellt

Zurück
Oben