Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Emscripten: LLVM-IR im…

Und wozu soll das gut sein?

Anzeige
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Und wozu soll das gut sein?

    Autor: Lala Satalin Deviluke 04.01.13 - 16:37

    Ich verstehe nicht so recht welche Vorteile das bringen kann.

    Grüße vom Planeten Deviluke!

  2. Re: Und wozu soll das gut sein?

    Autor: the_doctor 04.01.13 - 16:56

    Lala Satalin Deviluke schrieb:
    --------------------------------------------------------------------------------
    > Ich verstehe nicht so recht welche Vorteile das bringen kann.

    Warum muss denn alles gleich Vorteile bringen? Man kann ja auch einfach mal die Möglichkeiten ausloten und an die Grenzen des Machbaren gehen, also Grundlagenforschung/-entwicklung. Oder warum sollte man sonst z.B. gigantische Teilchenbeschleuniger bauen? Bringen doch auch keine direkten (geldwerten) Vorteile.

    Und wer weiss was aus dieser Technik sich noch alles heraus entwickelt, oder vielleicht kann man auch einzelne Teile sinnvoll weiterverwenden, evtl. zu ganz anderen Zwecken.

  3. Re: Und wozu soll das gut sein?

    Autor: mha9172 04.01.13 - 17:11

    Das macht nichts. Ich nehme an, es gibt sehr, sehr viele Dinge, die du nicht verstehst.

    Ist bei mir und anderen nicht anders, aber "ich und andere" schreien nicht jedes mal, wenn uns mal wieder so was über den Weg läuft (was unbemerkt alle 0.00001 mikro-Sekunden passiert. Mindestens.).

    EDIT, Kommentar: Die Rechtschreibprüfung bestand auf einigen komischen aus einander Schreibungen... OMG.



    1 mal bearbeitet, zuletzt am 04.01.13 17:12 durch mha9172.

  4. Re: Und wozu soll das gut sein?

    Autor: developer 04.01.13 - 17:21

    Lala Satalin Deviluke schrieb:
    --------------------------------------------------------------------------------
    > Ich verstehe nicht so recht welche Vorteile das bringen kann.

    Was ist das?
    Blaues Licht.
    Was macht es?
    Es leuchtet blau.

    Whatever you do, do it with: 5 + (sqrt(1-x^2(y-abs(x))^2))cos(30((1-x^2-(y-abs(x))^2))), x is from -1 to 1, y is from -1 to 1.5, z is from -100 to 4.5

  5. Re: Und wozu soll das gut sein?

    Autor: Sammie 04.01.13 - 17:56

    Statt C++ in Javascript umzuwandeln, wärs mir lieber, die Browser könnten kompilierte Scripte interpretieren, damit man von der lahmen Javascript-Performance mal weg kommt. Irgendwie klammert man sich viel zu sehr ans Javascript, statt auch mal alternative Methoden zu integrieren, die mehr Vorteile bringen könnten.

  6. Re: Und wozu soll das gut sein?

    Autor: Thaodan 04.01.13 - 18:02

    Das frage ich mich auch.

    Wahrung der Menschenrechte oder Freie fahrt am Wochenende.
    -- Georg Schramm

  7. Re: Und wozu soll das gut sein?

    Autor: mha9172 04.01.13 - 18:24

    @Sammie

    Aha, du nutzt noch Netscape 4. Probier' doch mal einen Browser von mindestens 2012. Außerdem verwechselst du DOM-Performance mit Javascript Performance - die DOM ist die API des Browsers (zum angezeigten Dokument), das hat NICHTS mit irgendeiner Sprache zu tun. Wenn solche "nach JS compiliert" Sachen im Browser lahm sind, liegt das immer an der DOM, JS ist heutzutage sehr schnell, s.u.

    Javascript selbst konkurriert heutzutage mit compilierten Sprachen. Warum? Es WIRD kompiliert! On the fly. Sogar mehrfach - ändert sich was zur Laufzeit, wird die jeweilige Funktion neu compiliert!

    Das geht heute, die Zeiten, wo man eine .exe (oder binary) mit dem Compiler erzeugen musste, war, als Prozessoren 33 MHz hatten. Heute geht das ON THE FLY, zur Laufzeit. "Skript-Sprachen" vs. "Compiler-Sprachen" gibt es so nicht mehr. Eine JS Laufzeitumgebung hat in der Tat das, was man mal "Interpreter" nannte, aber auch einen compiler. Außerdem hat es das, was man früher nur als extra Werkzeug hatte, zB einen eingebauten Profiler, der die Ausführung beobachtet und immer wieder Code-Pfade NEU COMPILIERT. Ein statischer Compiler dagegen macht nur EINEN Durchgang, und das war's. Bei Javascript wird auf die reale Situation reagiert.

    Dein IT issen ist soooo 1995. Und du hast keine Ausreden: Auf "Du-Röhre" aber auch vimeo findet man genug Videos (Präsentationen von Konferenzen oft), wo Interna moderner Laufzeitumgebungen, zB Google's V8, erklärt werden.

    Ignorance is NOT bliss.



    4 mal bearbeitet, zuletzt am 04.01.13 18:32 durch mha9172.

  8. Re: Und wozu soll das gut sein?

    Autor: Sinnfrei 04.01.13 - 18:52

    Jo, ist auch schnell genug ein Mini-Linux in einem JS-x86-Emulator auf einem lahmen PC in 10 Sekunden zu booten: http://bellard.org/jslinux/

    Da kann man grundsätzlich nicht meckern.

    __________________
    ...

  9. Re: Und wozu soll das gut sein?

    Autor: Lala Satalin Deviluke 04.01.13 - 19:24

    Solange man nicht H264-Videos in Javascript dekodieren will (was man schon tut oO) ist Javascript doch eigentlich heutzutage schnell genug.

    Grüße vom Planeten Deviluke!

  10. Re: Und wozu soll das gut sein?

    Autor: Thaodan 04.01.13 - 20:36

    Es gibt mittlerweile auch PGO für Sachen wie C/C++ und Co.

    Wahrung der Menschenrechte oder Freie fahrt am Wochenende.
    -- Georg Schramm

  11. Re: Und wozu soll das gut sein?

    Autor: Moe479 04.01.13 - 21:39

    das liegt wohl am immer wieder eneutem interpretieren/kompiliren von js und dom, durch den browser nicht an der scriptsprache selbst sondern am unclever eingesetzten interpretern/compilern.

    ein pythonscript wird bei erstausführung in einem c-compilat abgelegt, bei erneuter ausführung wird dieses c-compilat verwendet, selbiges wäre durchaus auch für js machbar.

    dem entgegen steht jedoch hochgradig dynamisch generierter code, sowohl beim dom als auch bei js, dieser führt in jedem fall zu einer nötigen neu interpretation duch den browser bei jedem seitenaufruf ...

    die neigung zu sogn. fatclients, also für jedes angebot/jeden service eine eigene applikation bereitzustellen, ob das nun ein browser plugin oder ein eigenständiges programm ist recht antquiert und macht nur bei tatsächlichen permance-engpässen durch allgemein gehaltene interpreter einen wirklich praktischen sinn.

    das bedeutetz keinens falls, dass jede site mit js optimal arbeitet, hier gibt es massiven optimierungsspielraum, anlagog zu der mehrheit aller applikationen egal in welcher sprache sie erstellt worden sind.

  12. Re: Und wozu soll das gut sein?

    Autor: DuBistTodIchBinReich 05.01.13 - 00:27

    Wie wäre es mit dart von google? :p

    Das kann mittels Snapshots von geparstem sourcecode auch 5-10 mal schneller starten als javascript...

  13. Re: Und wozu soll das gut sein?

    Autor: flow77 05.01.13 - 00:56

    Er bekommt +2 auf das Talent "Epic Engineering".
    Warum sind Menschen auf den Mond geflogen, warum gibt es Menschen die den Mount Everest bestiegen sind, warum, warum. warum?

    Lala Satalin Deviluke schrieb:
    --------------------------------------------------------------------------------
    > Ich verstehe nicht so recht welche Vorteile das bringen kann.

  14. Leider

    Autor: Anonymer Nutzer 05.01.13 - 01:00

    Leider kann man in Javascript aber immer noch keine Statischen Typen festlegen. Das ist ein großer Performanceverlust.
    Gut, immerhin gibt es inzwischen Typed Arrays ... das ist schon was Tolles für aufwendige 3D Dinge, aber für den Normalgebrauch eher nicht zu verwenden ...

  15. Re: Leider

    Autor: pythoneer 05.01.13 - 03:07

    hutzlibu schrieb:
    --------------------------------------------------------------------------------
    > Leider kann man in Javascript aber immer noch keine Statischen Typen
    > festlegen. Das ist ein großer Performanceverlust.
    > Gut, immerhin gibt es inzwischen Typed Arrays ... das ist schon was Tolles
    > für aufwendige 3D Dinge, aber für den Normalgebrauch eher nicht zu
    > verwenden ...

    Erkläre mir bitte den Zusammenhang zwischen "keine Statischen Typen" und "ein großer Performanceverlust" danke :)

  16. Re: Leider

    Autor: Moe479 05.01.13 - 06:00

    jup, versteht keine sau, das einzige was statische typen sparen können sind speicher, darüber hinaus rennt bei nicht einhaltung/überschreiten des adressierten speichers für eine variable eines typs die anwendung in einen fehler, dieses manchmal gewünschte verhalten lässt sich jedoch durch explizites casten auch in typen ungenauen sprachen erzwingen.

    ein guter interpreter/compiler einer untypisierten programmierung wird immer den zur laufzeit performantesten umsatz auf eine typisierte umgebung suchen, beim typwechsel einer variable muss er ja explizit casten und ggf. speicher neuadressieren, sofern an der alten stelle nicht genug platz für den neuen typ ist. was als performant gilt bestimmt die umgebung, z.B. ob speicherplatz knapp ist und dieser geschont werden soll oder man grossräumig adressieren kann um beim casten weniger neuadressierungsvorgänge zu provozieren.

    in diesem sinne können untypisierte anwendungen durch entsprechend 'intelligente' interpreter/compiler ihr laufzeitverhalten sogar allgemein besser an wechselnde umgebungen anpassen.



    1 mal bearbeitet, zuletzt am 05.01.13 06:04 durch Moe479.

  17. Re: Leider

    Autor: bebbo 05.01.13 - 08:37

    Moe479 schrieb:
    --------------------------------------------------------------------------------
    > jup, versteht keine sau,

    zum Glueck bin ich keine...

    > das einzige was statische typen sparen können sind
    > speicher,

    Das Problem ist, dass in Javascript zur Laufzeit beliebige Attribute hinzugefuegt werden koennen.

    Bei solchen dynamischen Objekten werden die Attribute meist in einer HashMap gehalten.

    Bei jedem Zugriff auf ein Attribut muss in der HashMap nachgeschlagen werden.

    Und das ist deutlich langsamer, als ein Zugriff mittels Offset und Pointer.


    Bebbo

  18. Re: Leider

    Autor: DuBistTodIchBinReich 05.01.13 - 15:07

    Ich glaube hier wird eine dynamisches Typisierung mit dynamischen Objekten verwechselt.

    Dynamische Typen sind für die Performance nur sehr bedingt ausschlaggeben, da kann man in der VM viel optimieren für.

    Dynamische Objekte hingegen sind perfekt um die Performance einer app zu killen :D

  19. Re: Und wozu soll das gut sein?

    Autor: Gamma Ray Burst 05.01.13 - 19:58

    Spaß:

    "This was done mainly as a fun hacking project over the holidays, but I'm posting it here in case anyone thinks it might be useful for something - maybe to teach people LLVM IR in a simple way (no need to install anything, just visit a website). If it is potentially useful it can be optimized and polished etc."

    Vielleicht als Lernumgebung fuer LLVM? Ansonsten sehe ich da eher einen geringen Nutzen.

    Wozu sollte man C++ Code im Browser kompilieren, wenn man das viel besser vorher machen kann?

    "Die Website ist gleich oben! Warte nur auf das Ende des Compilevorganges! ....."

    Easy things made complicated....only because of boredom

  20. Re: Und wozu soll das gut sein?

    Autor: cronos3k 05.01.13 - 22:39

    Das ist eine gute frage, hab dazu eine Antwort, man könnte das ja dazu nutzen ein 3D FPS Game in Browser laufen zu lassen um mahl zu zeigen was jetzt damit so alles möglich ist und tatsächlich da gibt es auch ein Projekt „BananaBread 3D first person shooter game compiled to JS+WebGL“:

    https://developer.cdn.mozilla.net/media/uploads/demos/a/z/azakai/3baf4ad7e600cbda06ec46efec5ec3b8/bananabread_1348775105_demo_package/index.html

  1. 1
  2. 2

Neues Thema Ansicht wechseln


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

Anzeige
Stellenmarkt
  1. Robert Bosch GmbH, Stuttgart-Feuerbach
  2. BG-Phoenics GmbH, Hannover
  3. Deutscher Apotheker Verlag Dr. Roland Schmiedel GmbH & Co., Gerlingen
  4. Deutsches Patent- und Markenamt, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 1.299,00€
  2. (täglich neue Deals)
  3. (reduzierte Überstände, Restposten & Co.)


Haben wir etwas übersehen?

E-Mail an news@golem.de


OxygenOS vs. Cyanogenmod im Test: Ein Oneplus Three, zwei Systeme
OxygenOS vs. Cyanogenmod im Test
Ein Oneplus Three, zwei Systeme
  1. Android-Smartphone Update soll Software-Probleme beim Oneplus Three beseitigen
  2. Oneplus Three Update soll Speichermanagement verbessern
  3. Android-Smartphone Diskussionen um Speichermanagement beim Oneplus Three

Kritische Infrastrukturen: Wenn die USV Kryptowährungen schürft
Kritische Infrastrukturen
Wenn die USV Kryptowährungen schürft
  1. Ripper Geldautomaten-Malware gibt bis zu 40 Scheine aus
  2. Ransomware Trojaner Fantom gaukelt kritisches Windows-Update vor
  3. Livestreams Ein Schuss, ein Tor, ein Trojaner

25 Jahre Linux: Besichtigungstour zu den skurrilsten Linux-Distributionen
25 Jahre Linux
Besichtigungstour zu den skurrilsten Linux-Distributionen
  1. Linux-Paketmanager RPM-Entwicklung verläuft chaotisch
  2. Exploits Treiber der Android-Hersteller verursachen Kernel-Lücken
  3. Hans de Goede Red-Hat-Entwickler soll Hybridgrafik unter Linux verbessern

  1. Zertifizierungsstelle: Wosign stellt unberechtigtes Zertifikat für Github aus
    Zertifizierungsstelle
    Wosign stellt unberechtigtes Zertifikat für Github aus

    Eine ganze Reihe von Vorfällen bringt die Zertifizierungsstelle Wosign in Erklärungsnot. Verschiedene Sicherheitslücken ermöglichten die unberechtigte Ausstellung von HTTPS-Zertifikaten. Die Zertifizierungsstelle Startcom wurde unterdessen offenbar vom Wosign-Gründer übernommen.

  2. Logitech M330 und M220: Silent-Mäuse für Lautstärkeempfindliche
    Logitech M330 und M220
    Silent-Mäuse für Lautstärkeempfindliche

    Ifa 2016 Normalerweise sind es zu laute Tastaturen, über die sich Kollegen beschweren. Insbesondere bei Personen, die sich beim Tippen so richtig ins Zeug legen. Für Logitech gibt es noch eine Quelle für unnötige Störgeräusche: Mausklicks.

  3. Virb Ultra 30: Garmins neue Actionkamera reagiert auf Sprachkommandos
    Virb Ultra 30
    Garmins neue Actionkamera reagiert auf Sprachkommandos

    Mit der Virb Ultra 30 hat Garmin eine neue Actionkamera vorgestellt, die nicht nur stabilisierte Videos in 4K aufnimmt, sondern auch mit Sprachkommandos zu bedienen ist. Außerdem verfügt die Kamera neben GPS über eine Reihe weiterer Sensoren.


  1. 16:05

  2. 15:48

  3. 15:34

  4. 14:40

  5. 14:25

  6. 14:03

  7. 14:00

  8. 13:40