Abo
  • Services:
Anzeige
Dank einer neuen Technik wird die LTO in LLVM deutlich schneller.
Dank einer neuen Technik wird die LTO in LLVM deutlich schneller. (Bild: LLVM)

Link-Time-Optimization: LLVM macht LTO fast so schnell wie normale Optimierung

Dank einer neuen Technik wird die LTO in LLVM deutlich schneller.
Dank einer neuen Technik wird die LTO in LLVM deutlich schneller. (Bild: LLVM)

Mit einer neuen Art der Optimierung während des Linkens eines Programms (LTO) benötigt LLVM nur etwas mehr Zeit als bei der "normalen" Optimierung beim Kompilieren. Auch den Speicherbedarf für LTO konnte das Team drastisch reduzieren.

Die meisten Compiler verfügen inzwischen über Möglichkeiten der Programmoptimierung, etwa um die Laufzeit zu verbessern. Bei der Link-Time-Optimization (LTO) wird dieser Vorgang erst beim Linken des Programms durchgeführt, wodurch das gesamte Programm auch über mehrere Module hinweg optimiert werden kann. Mit dem neuen Ansatz Thin LTO hat es das LLVM-Team geschafft, den für den Vorgang benötigten Speicherbedarf drastisch zu reduzieren und nur noch etwas mehr Zeit als für die normale Optimierung zu benötigen.

Anzeige
  • Der Ablauf des neuen Thin LTO (Bild: LLVM)
  • Der Ablauf des alten LTO (Bild: LLVM)
Der Ablauf des neuen Thin LTO (Bild: LLVM)

Trotz der durch LTO meist besseren Ergebnisse im Vergleich zur normalen Optimierung hatte die Technik vor allem für sehr große Anwendungen entscheidende Nachteile. Denn bei dem bisherigen Ansatz ist der gesamte erzeugte Bitcode zu einem großen monolithischen Modul zusammengefasst worden, auf dem dann die Optimierungen in einem einzigen Thread durchgeführt worden sind.

Paralleler Ablauf dank Zusatzinformationen

Bei Thin LTO wird jedoch auf das Zusammenführen des Bitcodes zu dem monolithischen Modul vollständig verzichtet. Um dennoch eine globale Analyse des gesamten Programms durchführen zu können, werden kompakte Übersichten der einzelnen kleineren Module erstellt. Ebenso wird ein Index der Orte von Funktionen erstellt, um diese später über Modulgrenzen hinweg importieren zu können. Dieser Import umfasst zudem nur jene Funktionen, die wahrscheinlich von einer Inline-Ersetzung betroffen sein werden. Die tatsächlichen Optimierungen geschehen dann völlig parallel in mehreren Threads.

Die wichtigste Voraussetzung für diesen Ablauf sei das Erstellen der Übersichten der Module, die quasi nebenbei beim Kompilieren in die LLVM-Zwischenschicht (Intermediate Representation, IR) erzeugt werden. Dabei werden sämtliche globalen Variablen und Funktionen berücksichtigt und eine Modul-Übersicht enthält zudem Metadaten, die als Abstraktion für einzelne Symbole dienen soll.

Zwar sei Thin LTO noch in Arbeit, die LLVM-Autoren bewerten dessen Leistung aber im Vergleich zur bisherigen LTO als gut. So werden in vielen Fällen die Leistungssteigerungen des LTO auch mit der neuen Technik erreicht. Allerdings ist der gesamte Kompiliervorgang mit dem neuen Ansatz wesentlich schneller als das alte LTO und reicht fast an die Geschwindigkeit des Kompilierens mit der normalen Optimierung heran. Darüber hinaus sind anders als bei der alten Technik mit Thin LTO sehr schnelle inkrementelle Builds möglich.

Derzeit genutzt werden kann Thin LTO mit dem Gold Plugin ebenso wie Ld64 in Apples Xcode 8. In der kommenden Version LLVM 3.9 wird das C-Frontend Clang Thin LTO über eine Kommandozeilenoption unterstützen.


eye home zur Startseite
das sushi 28. Jun 2016

Er ist noch nicht fertig, aber geben tut es ihn seit 3.7 glaub ich. Da ich keinen System...



Anzeige

Stellenmarkt
  1. über Baumann Unternehmensberatung AG, Raum Stuttgart
  2. Haufe Gruppe, Freiburg im Breisgau
  3. Katholische Universität Eichstätt-Ingolstadt, Eichstätt
  4. Sparda-Bank Ostbayern eG, Regensburg


Anzeige
Blu-ray-Angebote
  1. (u. a. John Wick, Leon der Profi, Auf der Flucht, Das Schweigen der Lämmer)
  2. (u. a. 96 Hours Taken 3 6,97€, London Has Fallen 9,97€, Homefront 7,49€, Riddick 7,49€)
  3. (u. a. Apollo 13, Insidious, Horns, King Kong, E.T. The Untouchables, Der Sternwanderer)

Folgen Sie uns
       


  1. USA

    Samsung will Note 7 in Backsteine verwandeln

  2. Hackerangriffe

    Obama will Einfluss Russlands auf US-Wahl untersuchen lassen

  3. Free 2 Play

    US-Amerikaner verzockte 1 Million US-Dollar in Game of War

  4. Die Woche im Video

    Bei den Abmahnanwälten knallen wohl schon die Sektkorken

  5. DNS NET

    Erste Kunden in Sachsen-Anhalt erhalten 500 MBit/s

  6. Netzwerk

    EWE reduziert FTTH auf 40 MBit/s im Upload

  7. Rahmenvertrag

    VG Wort will mit Unis neue Zwischenlösung für 2017 finden

  8. Industriespionage

    Wie Thyssenkrupp seine Angreifer fand

  9. Kein Internet

    Nach Windows-Update weltweit Computer offline

  10. Display Core

    Kernel-Community lehnt AMDs Linux-Treiber weiter ab



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Großbatterien: Sechs 15-Megawatt-Anlagen sollen deutsches Stromnetz sichern
Großbatterien
Sechs 15-Megawatt-Anlagen sollen deutsches Stromnetz sichern
  1. HPE Hikari Dieser Supercomputer wird von Solarenergie versorgt
  2. Tesla Desperate Housewives erzeugen Strom mit Solarschindeln
  3. Solar Roadways Erste Solarzellen auf der Straße verlegt

Google, Apple und Mailaccounts: Zwei-Faktor-Authentifizierung richtig nutzen
Google, Apple und Mailaccounts
Zwei-Faktor-Authentifizierung richtig nutzen
  1. Bugs in Encase Mit dem Forensik-Tool die Polizei hacken
  2. Red Star OS Sicherheitslücke in Nordkoreas Staats-Linux
  3. 0-Day Tor und Firefox patchen ausgenutzten Javascript-Exploit

Steep im Test: Frei und einsam beim Bergsport
Steep im Test
Frei und einsam beim Bergsport
  1. PES 2017 Update mit Stadion und Hymnen von Borussia Dortmund
  2. Motorsport Manager im Kurztest Neustart für Sportmanager
  3. NBA 2K17 10.000 Schritte für Ingame-Boost

  1. Re: Ganz schön armseelig Telekom

    Opferwurst | 15:36

  2. Re: Die Darstellung ist etwas einseitig

    Dullahan | 15:30

  3. Wird hier ein "Narrative" vorbereitet?

    Sinnfrei | 15:28

  4. Re: Diese ganzen angeblichen F2P sollte man...

    DetlevCM | 15:26

  5. Re: EWE ist ganz übel

    sneaker | 15:24


  1. 12:53

  2. 12:14

  3. 11:07

  4. 09:01

  5. 18:40

  6. 17:30

  7. 17:13

  8. 16:03


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel