Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Freier Compiler LLVM soll…

Plattformunabhängige Binaries

  1. Thema

Neues Thema Ansicht wechseln


  1. Plattformunabhängige Binaries

    Autor: *v* 21.11.05 - 12:45

    Plattformunabhängigkeit scheint mir bei den vielen von Linux und BSD unterstützten Systemarchitekturen doch ein sehr reizvolles Thema zu sein. Die Erzeugung von Binaries mit einem virtuellen Befehlssatz in Verbindung mit einem JIT-Compiler birgt allerdings wieder potentielle Performance-Nachteile und höheren Ressourcen-Verbrauch. Damit disqualifiziert es sich schon mal für den Einsatz in sehr zentralen Anwendungen, wie z.B. X-Server oder Desktop-Umgebung.
    Daher eine vielleicht dumme Idee:
    Wäre es nicht denkbar Pakete mit dem virtuellem Befehlsatz (plattformunabhängig) auszuliefern) und die Anpassung auf die eigene Plattform anstatt von einem JIT-Compiler von einer Komponente des Paketmanagers (rpm, dpkg etc.) übernehmen zu lassen. Also ein schneller Compiler während der Installation. Das sollte sehr viel schneller und einfacher zu machen sein, als die direkte Installation à la Gentoo (oder ähnliche Projekte). Andererseits würde es die ständige Neucompilierung während der Laufzeit à la Java überflüssig machen.
    Aber vielleicht ja nur eine dumme Idee von jemandem, der zu wenig Ahnung hat...

    *v*
    ( )
    "="===============================================
    two and two is five - for very large values of two

  2. Re: Plattformunabhängige Binaries

    Autor: chr1701 21.11.05 - 13:08

    Wäre sicher möglich. aber im endeffekt ist das ja auch ein JIT-compiler. normalerweise übersetzt der JIT-compiler den bytecode in maschinencode, und zwar vor der programmausführung. Dein Vorschlag macht die übersetzung halt schon früher, bei der Installation. Sonst ist es nix neues :)

    Andererseits hat ein Bytecode viele Vorteile, vor allem zum Debuggen. Und der Geschwindigkeitsunterschied fällt heutzutage nur noch sehr selten ins Gewicht - höchstens bei wissenschaftlichen Anwendungen oder Server-Prozessen, die im hintergrund laufen und möglichst wenig Ressourcen verbrauchen sollen.

    grüsse
    chris

  3. Re: Plattformunabhängige Binaries

    Autor: Slark 21.11.05 - 13:38

    Das ist gar nicht dumm und wird auch schon gemacht (wobei ich nicht weiß, ob man das im Zusammenhang mit LLVM auch schon gemacht hat). In der Windowswelt dürfte wohl C#(/CIL) das prominenteste Beispiel sein, bei dem dies während der Installation möglich ist.

    Ich wäre auf jedenfall daran interessiert, dass man so etwas ermöglicht. Ob es nun über CIL oder LLVM geht, ist mir relativ egal, da ich nicht weiß welche der beiden Techniken für mich die bessere wäre.

    Was mich aber wirklich geschockt hat, ist das ersetzen vom Tree-SSA-Optimizer. Ich hoffe nur, dass wirklich nur der Optimizer und nicht die ganze Tree-SSA Darstellung ersetzt wird. Vielleicht meinte man ja auch nur den Teil, der direkt architekturspezifisch Optimiert (zum Beispiel Vektorisierung, etc.).

  4. Re: Plattformunabhängige Binaries

    Autor: erwin 21.11.05 - 15:09

    chr1701 schrieb:
    -------------------------------------------------------
    > Wäre sicher möglich. aber im endeffekt ist das ja
    > auch ein JIT-compiler. normalerweise übersetzt der
    > JIT-compiler den bytecode in maschinencode, und
    > zwar vor der programmausführung. Dein Vorschlag
    > macht die übersetzung halt schon früher, bei der
    > Installation. Sonst ist es nix neues :)

    Nicht ganz, was du jetzt meinst ist ein AOT(ahead-of-time)-Compiler. Ein JITter übersetzt es immer noch während der Ausführung, also just-in-time. Aber ansonsten wäre es trotzdem ein brauchbare Lösung. Durch den Byte-Code würden die Applikationen dann auch wesentlich kleiner ausfallen.

  5. Re: Plattformunabhängige Binaries

    Autor: *v* 21.11.05 - 17:36

    chr1701 schrieb:
    -------------------------------------------------------
    > Wäre sicher möglich. aber im endeffekt ist das ja
    > auch ein JIT-compiler. normalerweise übersetzt der
    > JIT-compiler den bytecode in maschinencode, und
    > zwar vor der programmausführung. Dein Vorschlag
    > macht die übersetzung halt schon früher, bei der
    > Installation. Sonst ist es nix neues :)

    Nicht nur frueher, sondern auch nur ein einziges Mal. Und man braeuchte keine parallel laufende VM.

    > Andererseits hat ein Bytecode viele Vorteile, vor
    > allem zum Debuggen. Und der
    > Geschwindigkeitsunterschied fällt heutzutage nur
    > noch sehr selten ins Gewicht - höchstens bei
    > wissenschaftlichen Anwendungen oder
    > Server-Prozessen, die im hintergrund laufen und
    > möglichst wenig Ressourcen verbrauchen sollen.

    Fuer einzelne Anwendungen ist Bytecode + JIT-Compiler sicherlich O.K. Wollte man das allerdings zum allgemeinen Prinzip der Paketinstallation erheben, also auch fuer Systemkomponenten, evtl. auch fuer den Kernel selbst (bei Kernel-Updates), dann sollte man das vielleicht nicht unbedingt ueber eine Software-VM machen.



  6. Re: Plattformunabhängige Binaries

    Autor: Tropper 21.11.05 - 20:50

    erwin schrieb:
    -------------------------------------------------------
    > chr1701 schrieb:
    > --------------------------------------------------
    > -----
    > > Wäre sicher möglich. aber im endeffekt ist
    > das ja
    > auch ein JIT-compiler. normalerweise
    > übersetzt der
    > JIT-compiler den bytecode in
    > maschinencode, und
    > zwar vor der
    > programmausführung. Dein Vorschlag
    > macht die
    > übersetzung halt schon früher, bei der
    >
    > Installation. Sonst ist es nix neues :)
    >
    > Nicht ganz, was du jetzt meinst ist ein
    > AOT(ahead-of-time)-Compiler. Ein JITter übersetzt
    > es immer noch während der Ausführung, also
    > just-in-time. Aber ansonsten wäre es trotzdem ein
    > brauchbare Lösung. Durch den Byte-Code würden die
    > Applikationen dann auch wesentlich kleiner
    > ausfallen.

    Um mal bei den dummen Fragen zu bleiben, ich hab mich mal gefragt warum Java nicht (wenn auch nur optional) einen Mechanismus verwendet mit dem die Ergebnisse des JIT-Compiler gespeichert werden. So das er einmal kompilierten Code beim nächsten Start einfach von der Platte laden kann. Ich hab zwar keine Ahnung wieviel Zeit für den JIT-Compiler wirklich draufgeht, aber ich stell mir das beim 2. Start halt doch einen Tick schneller vor.

    Es müßte dann natürlich eine Art temporären Cache geben in dem die "wirklich" kompilierten Planttformanhägigen Binärie-Class Dateien liegen so das die Leute beim Kopieren nur die Plattform unabhängigen .class Dateien weiter geben und nicht die echten Binäries. Und ich muss die Möglichkeit haben den Cache expliziet zu löschen bzw. ich muss ein maximum an Plattenplatz bestimmen können den er verwendet und bei erreichen halt ältere Binäries die ich nicht so oft verwende löschen um Platz für neue Binarier zu erstellen.

    Tropper




    1 mal bearbeitet, zuletzt am 21.11.05 20:52 durch Tropper.

  7. Re: Plattformunabhängige Binaries

    Autor: firedancer 23.11.05 - 02:48

    *v* schrieb:
    -------------------------------------------------------
    > Plattformunabhängigkeit scheint mir bei den vielen
    > von Linux und BSD unterstützten
    > Systemarchitekturen doch ein sehr reizvolles Thema
    > zu sein. Die Erzeugung von Binaries mit einem
    > virtuellen Befehlssatz in Verbindung mit einem
    > JIT-Compiler birgt allerdings wieder potentielle
    > Performance-Nachteile und höheren
    > Ressourcen-Verbrauch.

    Tja. Gleichzeitig bringt er potentielle Performance-Vorteile, da der Bytecode prozessoroptimiert übersetzt werden kann. Dieser dürfte dann um etliches schneller laufen als Standard-Binaries.

    Ist in jedem Fall eine interessante Technik. Die Frage ist nur, ob Gentoo sowas nicht vollkommen obsolet macht ;-))))))))

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Kistler Remscheid GmbH, Remscheid
  2. Jetter AG, Ludwigsburg
  3. BWI GmbH, Bonn
  4. operational services GmbH & Co. KG, verschiedene Standorte

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 469,00€
  2. 259€ + Versand oder kostenlose Marktabholung (aktuell günstigste GTX 1070 Mini)
  3. 399€ (Wert der Spiele rund 212€)
  4. 334,00€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Bethesda: Ich habe TES Blades für 5,50 Euro durchgespielt
Bethesda
Ich habe TES Blades für 5,50 Euro durchgespielt

Rund sechs Wochen lang hatte ich täglich viele spaßige und auch einige frustrierende Erlebnisse in Tamriel: Mittlerweile habe ich den Hexenkönig in TES Blades besiegt - ohne dafür teuer bezahlen zu müssen.
Ein Bericht von Marc Sauter

  1. Bethesda TES Blades ist für alle verfügbar
  2. TES Blades im Test Tolles Tamriel trollt
  3. Bethesda TES Blades startet in den Early Access

Mobile-Games-Auslese: Games-Kunstwerke für die Hosentasche
Mobile-Games-Auslese
Games-Kunstwerke für die Hosentasche

Cultist Simulator, Photographs, Dungeon Warfare 2 und mehr: Diesen Monat lockt eine besonders hochkarätige Auswahl an kniffligen, gruseligen und komplexen Games an die mobilen Spielgeräte.
Von Rainer Sigl

  1. Spielebranche Auch buntes Spieleblut ist in China künftig verboten
  2. Remake Agent XIII kämpft wieder um seine Identität
  3. Workers & Resources im Test Vorwärts immer, rückwärts nimmer

Lightyear One: Luxus-Elektroauto fährt auch mit Solarstrom
Lightyear One
Luxus-Elektroauto fährt auch mit Solarstrom

Ein niederländisches Jungunternehmen hat ein ungewöhnliches Fahrzeug entwickelt, das Luxus und Umweltfreundlichkeit kombiniert. Solarzellen auf dem Dach erhöhen die Reichweite um bis zu 220 Kilometer.
Von Wolfgang Kempkens

  1. Elektromobilität Verkehrsminister will Elektroautos länger und mehr fördern
  2. Elektroautos e.GO Mobile liefert erste Fahrzeuge aus
  3. Volkswagen Über 10.000 Vorreservierungen für den ID.3 in 24 Stunden

  1. Onlinehandel: Mehr Verbraucherbeschwerden im Paketgeschäft
    Onlinehandel
    Mehr Verbraucherbeschwerden im Paketgeschäft

    Im vergangenen Jahr haben sich deutlich mehr Kunden über Probleme bei Paketzustellungen beschwert als noch ein Jahr zuvor. Auch im laufenden Jahr hält der Trend durch das Wachstum des Onlinehandels an. Gemessen an der Zahl der gelieferten Pakete sind es aber wenige Beanstandungen.

  2. Premium Alexa Skills: Skills für Amazons Alexa mit Bezahlfunktion starten
    Premium Alexa Skills
    Skills für Amazons Alexa mit Bezahlfunktion starten

    Amazon hat erste Premium Alexa Skills für Deutschland veröffentlicht. Diese enthalten sogenannte In-Skill-Käufe, Kunden können gegen Bezahlung spezielle Funktionen aktivieren. Zum Start stehen insgesamt 14 Angebote zur Verfügung.

  3. Vodafone: Otelo-Vertragskunden erhalten Zugang zum LTE-Netz
    Vodafone
    Otelo-Vertragskunden erhalten Zugang zum LTE-Netz

    Die Vodafone-Marke Otelo bietet Kunden mit Laufzeitverträgen Zugang zum LTE-Netz. Bisher musste der LTE-Zugang extra bezahlt werden, nun ist er in allen Tarifen enthalten, auch für Bestandskunden. Prepaid-Kunden können das LTE-Netz weiterhin nicht nutzen.


  1. 12:12

  2. 11:53

  3. 11:35

  4. 14:56

  5. 13:54

  6. 12:41

  7. 16:15

  8. 15:45