Abo
  • Services:
Anzeige

GCC 4.0 macht Programme und deren Entwicklung schneller

GCC nun mit automatischer Vektorisierung für SSE, SSE2 und Altivec

Ein Jahr nach der Veröffentlichung der Version 3.4 gab das GCC-Team nun die Version 4.0 frei. Neben der verbesserten internen Darstellungsform (Tree-SSA) kann die neue Version automatisch Schleifen für SSE und SSE2 der x86- und AMD64-Plattform sowie für Altivec auf PowerPC generieren.

Die jetzt freigegebene Version war ursprünglich als 3.5 geplant, wurde jedoch auf Grund der vielen internen Änderungen und Verbesserungen nach 4.0 umbenannt. Die größte Änderung ist die Verwendung von "Static Single Assignment Trees" für die interne Repräsentation des Codes. Dadurch ließen sich viele Optimierungen verbessern und neue implementieren. Unter den neuen Optimierungen ist auch die automatische Vektorisierung von Schleifen, für die Verwendung von SSE, SSE2 oder Altivec. Einen solchen Automatismus, für bisher eher von Hand zu erzeugende Optimierungen, boten zurzeit ausschließlich kommerzielle Compiler aus dem Hause Intel oder IBM.

Anzeige

Die Tree-SSA-Darstellung hilft jedoch auch in anderen Bereichen, wie dem Zusammenfassen von Gemeinsamkeiten, dem Eliminieren nicht verwendeter Ausdrücke sowie einigen normalen Optimierungsmethoden von Schleifen.

Auch das Starten von Programmen kann durch die neue GCC-Version beschleunigt werden: "-fvisibility-inlines-hidden" markiert in dem ELF-Bibliotheksformat alle "inline-bare"-Funktionen als nicht sichtbar und entfernt diese so aus der finalen Programmdatei. Bei modernem C++-Code werden so ca. 40 Prozent der Symbole entfernt und Programme bis zu 10 Prozent kleiner - und dadurch natürlich schneller geladen.

Im wissenschaftlichen Bereich lang erwartet, wurde der Ersatz des Fortan-77-Frontends, durch eine überarbeitete Version, die auch Fortan 90 und 95 akzeptiert. Der neue "gfortran" ist derzeit jedoch nicht mehr vollständig Fortan-77-konform, die Entwickler wollen in einer späteren Version aber wieder dafür sorgen.

Das Debuggen von optimiertem Code, in dem Code-Fragmente oft stark von der Reihenfolge in der Quelldatei abweichen, können "location lists" verbessern. Durch diese kann der GNU Debugger auch stark optimierten Code wieder das original Listing zuordnen.

Ebenfalls für Entwickler interessant ist, dass bei Abschalten jeglicher Optimierung mit '-O0' das C++-Frontend jetzt schneller ist als in jeder anderen GCC-Version zuvor. Dies kann den Editier-Compile-Zyklus in der Entwicklungsphase stark verkürzen.

Da, wie in jeder neuen GCC-Version, auch wieder ein paar historische, GCC-eigene Spracherweiterungen entfernt wurden, ist davon auszugehen, dass in dem einen oder anderen historisch gewachsenen Code kleine Änderungen vorzunehmen sind, bis er sich wieder mit dem aktuellen GCC übersetzen lässt. Positiv ist, dass solche Änderungen auch die Kompatibilität mit anderen ANSI-konformen Compilern erhöhen.

Eine Übersicht aller Änderungen ist auf der Projekt-Homepage zu finden, hier steht GCC 4.0 auch zum Download bereit. [von René Rebe]


eye home zur Startseite
keine ahnung 12. Jun 2005

also wir haben hier 10 der neuesten mainframes stehen. und an diese i/o raten kommen...



Anzeige

Stellenmarkt
  1. STIEBEL ELTRON GmbH & Co. KG, Holzminden
  2. Basler AG, Ahrensburg bei Hamburg
  3. Deutsche Post DHL Group, Bonn
  4. Continental AG, Lindau am Bodensee


Anzeige
Spiele-Angebote
  1. (u. a. Tomb Raider für 2,99€ und Wolfenstein II für 24,99€)
  2. 6,99€
  3. (-33%) 9,99€

Folgen Sie uns
       


  1. Kabelnetz

    Vodafone setzt bereits Docsis 3.1 beim Endkunden ein

  2. Neuer Standort

    Amazon sucht das zweite Hauptquartier

  3. Matt Booty

    Mr. Minecraft wird neuer Spiele-Chef bei Microsoft

  4. Gerichtsurteil

    Internet- und Fernsehkunden müssen bei Umzug weiterzahlen

  5. Sicherheitsupdate

    Microsoft-Compiler baut Schutz gegen Spectre

  6. Facebook Messenger

    Bug lässt iPhone-Nutzer nur wenige Wörter tippen

  7. Multi-Shot-Kamera

    Hasselblad macht 400-Megapixel-Fotos mit 2,4 GByte Größe

  8. Mitsubishi

    Rückkamera identifiziert Verkehrsteilnehmer

  9. Otherside Entertainment

    Underworld Ascendant soll mehr Licht ins Dunkle bringen

  10. Meltdown und Spectre

    "Dann sind wir performancemäßig wieder am Ende der 90er"



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Spectre und Meltdown: All unsere moderne Technik ist kaputt
Spectre und Meltdown
All unsere moderne Technik ist kaputt
  1. Microsoft Fall Creators Update ist final für alle Geräte verfügbar
  2. BeA Noch mehr Sicherheitslücken im Anwaltspostfach
  3. VEP Charter Trump will etwas transparenter mit Sicherheitslücken umgehen

Star Citizen Alpha 3.0 angespielt: Es wird immer schwieriger, sich auszuloggen
Star Citizen Alpha 3.0 angespielt
Es wird immer schwieriger, sich auszuloggen
  1. Cloud Imperium Games Star Citizen bekommt erst Polituren und dann Reparaturen
  2. Star Citizen Reaktionen auf Gameplay und Bildraten von Alpha 3.0
  3. Squadron 42 Mark Hamill fliegt mit 16 GByte RAM und SSD

Snet in Kuba: Ein Internet mit Billigroutern und ohne Porno
Snet in Kuba
Ein Internet mit Billigroutern und ohne Porno
  1. Apple Messages-App kann mit Nachricht zum Absturz gebracht werden
  2. Nur beratendes Gremium Bundestag setzt wieder Digitalausschuss ein
  3. Boeing und SpaceX Experten warnen vor Sicherheitsmängeln bei Raumfähren

  1. Re: Was passiert eigentlich wenn zwei zusammenziehen?

    CerealD | 02:57

  2. Re: Trotz gesteigerter Qualität fehlen mir noch...

    F.o.G. | 02:56

  3. Re: Wenn mein Vertrag dort noch läuft...

    CerealD | 02:54

  4. Re: Wo soll denn da das Missbrauchspotential sein?

    CerealD | 02:46

  5. Re: äquivalente gcc Patches?

    anonym | 02:19


  1. 19:09

  2. 16:57

  3. 16:48

  4. 16:13

  5. 15:36

  6. 13:15

  7. 13:00

  8. 12:45


  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