Login


 
Newsletter
Werbung

Thema: GCC 5.0 soll modularisiert werden

25 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
mehr GCC
0
Von MichaelK am Di, 20. März 2012 um 16:26 #

Etwas Modernisierung würde dem altehrwürdigen GCC schon guttun. Mit dem LLVM was zu machen ist wesentlich einfacher. Noch kann die die GCC nicht ersetzen, aber wenns in dem Tempo weitergeht, ist es nur noch ne Frage der Zeit.

Leider wird die Umstellung für GCC nicht einfach, sondern schmerzvoll und langwierig. Aber je früher man damit beginnt, je besser.

Gruß
MichaelK

  • 0
    Von Marcus55 am Di, 20. März 2012 um 16:38 #

    Schon richtig, aber ich denke, es ist schon etwas zu spät für solche Anstrengungen.
    Irgendwann bekommt ein Projekt einfach eine "Komplexität", die nicht mehr gut beherrschbar ist. Das ist auch der Grund, warum die eingesessenen Dinosaurier jetzt durch neue, modernere Alternativen angegriffen werden, sei es der gcc durch durch lvm, der xserver durch wayland oder bash duch zsh. Manchmal muss man mit der vergangenheit einfach abschliessen.

    • 0
      Von Polynomial-C am Di, 20. März 2012 um 16:58 #

      Also der Vergleich bash -> zsh hinkt meiner Meinung nach etwas. Weder würde ich die bash als Dinosaurier ansehen, noch ist sie die komplexere shell (zumindest aus Nutzersicht, vielleicht sieht das beim Quellcode ja schon wieder anders aus).
      Gemessen am Funktionsumfang würde ich das Attribut "komplex" definitiv der zsh zuordnen.

      1
      Von Profi am Di, 20. März 2012 um 17:02 #

      Lieber wuerde ich die PowerShell unter Linux sehen.

    0
    Von haha am Di, 20. März 2012 um 23:44 #

    Wenn man den Code sowieso in c++ neumachen will, warum dann nicht gleich komplett neuschreiben? Das ist sicher die schmerzlosere Lösung.

    • 0
      Von phreck am Mi, 21. März 2012 um 09:26 #

      Weil C++-Compiler eine extrem komplexe Sache sind.

      0
      Von gol am Mi, 21. März 2012 um 09:30 #

      1. Anreichern mit C++ Funktionalität: Dafür muss man den Aufbau nicht komplett verstehen.
      2. 30 Jahre hats gedauert den Compiler da zu bringen wo er ist, wieviel Jahrzehnte soll denn ein Rewrite kosten?
      3. Gewisse Strukturprobleme(Namespaces,globale, stat. Variablen) können auch mit C gelöst werden, aber die Architektur von GCC ist sowas von im Arsch, das bestimmte Stellen keiner mehr anfassen will. Es gibt div. Zwischensprachen, die für eine Optimierung notwendig sind, recht konfus diese Umwandlungen.
      4. Beim PCC siehts du schon, wieviel Arbeit es schon macht, dass Ding ins neue Jahrtausend zu bringen nur für C, der GCC ist um einiges komplexer.

      • 0
        Von ChilliConCarne am Mi, 21. März 2012 um 09:43 #

        "aber die Architektur von GCC ist sowas von im Arsch"
        Kannst du das irgendwie mit Quellen, genauer belegen? Mir geht's gerade nicht drum, dass ich das nicht glauben will, sondern rein aus Interesse was gewisse Fachleute zur Struktur vom GCC sagen.

        0
        Von Wozu Rewrite? am Mi, 21. März 2012 um 10:11 #

        2. 30 Jahre hats gedauert den Compiler da zu bringen wo er ist, wieviel Jahrzehnte soll denn ein Rewrite kosten?

        So kann man das nicht sehen.

        30 Jahre ist nicht die Zeit, die es gedauert hat um die jetztige Funktionalität bereitzustellen, sondern es sind die 30 Jahre, in denen die diversen Programmiersprachen immer weiter erweitert wurden und daher eine evolutionäre Erweiterung der Funktionalität mit ein herging.

        Schau dir zum Vergleich mal den LLVM und siehe nach, wie lange die Entwicklungszeit dort gedauert hat.
        LLVM hat deutlich weniger als 30 Jahre gedauert und bei einem Rewrite von GCC wäre es genau das gleiche.
        Die Frage ist eher, wozu sollte man dies tun?

        Man hat als Rewrite Ersatz bereits LLVM und der GCC hat sich für den Praxisalltag bewährt.

        • 0
          Von puffy am Mi, 21. März 2012 um 10:33 #

          Nicht "gedauert hat", sondern "dauert", zumindest was andere Sprachen als C angeht. Und LLVM emittiert

          a) für weniger Plattformen
          b) weniger optimalen Code

          Nichtsdestotrotz gehört es zu meinen Lieblingsprojekten, nicht zuletzt wegen seiner guten Planung, der Diagnosen, und der Durchsetzung der Ziele aus Lattner's ursprünglichen Forschungspapers (auch wenn lebenslange Optimierung noch in sehr weiter Ferne liegt).

      0
      Von puffy am Mi, 21. März 2012 um 10:29 #

      Was soll denn alles neu geschrieben werden?

      * Frontends:
      C++, inkl. Dialekte (C++03, C++11)
      C, inkl. Dialekte (bspws. C99, C1x, K+R)
      Objective-C
      Go
      Fortran, inkl. Dialekte (e.g. 77, 03)
      * GIMPLE und GENERIC
      * Architektur-Spezifika
      Alpha
      ARM
      Atmel AVR
      Blackfin
      H8/300
      HC12
      IA-32 (x86)
      IA-64
      MIPS
      Motorola 68000
      PA-RISC
      PDP-11
      PowerPC
      R8C/M16C/M32C
      SPARC
      SPU
      SuperH
      System/390/zSeries
      VAX
      x86-64
      * Optimierungs-Durchgänge und Submodule:
      Graphite, war lange ein eigener Branch
      Dataflow
      LTO
      und so viel mehr, und die ganzen Standard-Passes die GCC zu einer ernsthaften Konkurrenz für Intel macht

      Und dann noch der ganze andere Scheiß.


      Frage: Du bist kein Entwickler, oder? "Einfach neu schreiben" ist eine Aussage, die ich nur aus dem Management oder von Grünschnäbeln kenne.

0
Von Kristijan am Mi, 21. März 2012 um 09:52 #

Mal meinen Senf als reiner gcc Nutzer: Solange gcc die performantesten Binaries ausspuckt, ist es mir latte wie und ob die Architektur des gcc selbst aussieht, und schon 30 Jahre alt ist. Ich will flinke Binaries haben. Thats it.

  • 0
    Von blablabla am Mi, 21. März 2012 um 14:11 #

    Endlich mal jemand der das richtige ausspricht, auch als entwickler ist es mir Wurscht ob nun der Compiler 2 sekunden schneller übersetzt, und bei grossen Projekten nimmt man eh einen Buildbot mit z.b distcc. Imo bringt z.b clang nur lizenztechnisch bei manchen Projekten etwas -> bsd

    • 0
      Von gol am Mi, 21. März 2012 um 19:47 #

      Die Fehlermeldungen sind beim GCC zumeist eine Katastrophe. Und wenn ich durch schnellere kompilieren mehr Zeit fürs testen und experimentieren gewinne macht's den Nachteil 5% langsameren Code zu erzeugen schon mal wett.
      Und wenn man wirklich die max. Performanz braucht dann installiert doch zusätzlich gcc nur fürs deployen.

Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung