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. über Robert Half Technology, Stuttgart
  2. AZTEKA Consulting GmbH, Freiburg
  3. Landesbetrieb IT.Niedersachsen, Hannover
  4. Datenzentrale Baden-Württemberg, Stuttgart

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Blu-ray-Angebote
  1. 19,99€ (Vorbesteller-Preisgarantie)
  2. (u. a. Der Schuh des Manitu, Agenten sterben einsam, Space Jam, Dark City)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Microsoft: Das bringt Windows Server 2016
Microsoft
Das bringt Windows Server 2016
  1. Microsoft Windows Server 2016 wird im September fertig

Soziale Netzwerke: Wie ich einen Betrüger aufspürte und seine Mama kontaktierte
Soziale Netzwerke
Wie ich einen Betrüger aufspürte und seine Mama kontaktierte
  1. iOS 10 und WatchOS 3.0 Apple bringt geschwätzige Tastatur-App zum Schweigen
  2. Rio 2016 Fancybear veröffentlicht medizinische Daten von US-Sportlern
  3. Datenbanksoftware Kritische, ungepatchte Zeroday-Lücke in MySQL-Server

Canon vs. Nikon: Superzoomer für unter 250 Euro
Canon vs. Nikon
Superzoomer für unter 250 Euro
  1. Snap Spectacles Snapchat stellt Sonnenbrille mit Kamera vor
  2. MacOS 10.12 Fujitsu warnt vor der Nutzung von Scansnap unter Sierra
  3. Bildbearbeitungs-App Prisma offiziell für Android erhältlich

  1. Kaufberatung: Das richtige Solid-State-Drive
    Kaufberatung
    Das richtige Solid-State-Drive

    Egal ob Formfaktor, Geschwindigkeit oder Preis: SSDs gibt es in unzähligen Varianten. Je nach Einsatzzweck, etwa im Ultrabook oder in der Workstation, empfehlen sich andere Modelle - ein Überblick.

  2. Android-Smartphone: Huawei bringt Nova Plus doch nach Deutschland
    Android-Smartphone
    Huawei bringt Nova Plus doch nach Deutschland

    Hochauflösende Kamera und ein gutes Display: Huawei hat sich entschieden, sein Nova Plus doch in Deutschland zu verkaufen. Das Smartphone wird 430 Euro kosten.

  3. Rosetta: Mach's gut und danke für die Bilder!
    Rosetta
    Mach's gut und danke für die Bilder!

    Das Ende naht: Heute wird die europäische Raumsonde Rosetta auf dem Kometen 67P/Tschurjumow-Gerassimenko aufsetzen und dabei zerstört werden. Es ist das Ende einer spektakulären Mission, die der europäischen Raumfahrtagentur Esa großes Prestige eingebracht hat.


  1. 12:06

  2. 12:05

  3. 11:52

  4. 11:30

  5. 11:17

  6. 11:03

  7. 10:56

  8. 10:32