Java ist schneller als C++!



  • neoexpert schrieb:

    Simon2 schrieb:

    neoexpert schrieb:

    ...
    Eine Sprache mit der man Hardwarenah programmieren kann, kann nie langsammer sein als Hardware.

    Welche Höchstegeschwindigkeit hat denn C++ so ? ... und Java ?

    Gruß,

    Simon2.

    höchstgeschwindigkeiten???
    nunja, zur zeit vielleicht so schnell wie der schnellste Computer der welt:
    http://www.n-tv.de/601537.html
    ich glaube aber es gibt noch schnellere...

    Da lebt wohl jemand hinter dem Mond, gell? 😃

    IBMs neuester Superrechner ist doppelt so schnell.



  • registriert==qualität? schrieb:

    Aktuelle Geschwindigkeitsmessungen haben ergeben, dass die schnellste Hardware zur Zeit 1528 km/h schnell ist Java dagegen ist nur 1349 km/h schnell.

    PS:
    Und nachts ist es kälter als drausen.

    http://de.wikipedia.org/wiki/FLOPS .....



  • neoexpert schrieb:

    Simon2 schrieb:

    neoexpert schrieb:

    ...
    Eine Sprache mit der man Hardwarenah programmieren kann, kann nie langsammer sein als Hardware.

    Welche Höchstegeschwindigkeit hat denn C++ so ? ... und Java ?

    Gruß,

    Simon2.

    höchstgeschwindigkeiten???
    nunja, zur zeit vielleicht so schnell wie der schnellste Computer der welt:
    http://www.n-tv.de/601537.html
    ich glaube aber es gibt noch schnellere...

    Äh ... ich finde da gar keine Angabe zur "Höchstgeschwindigkeit von C++" - und warte folglich immer noch auf eine Antwort.

    Gruß,

    Simon2.

    (P.S.: Ganz unironisch will ich nur (nochmal) darauf hinweisen, dass eine Programmiersprache gar keine "Geschwindigkeit" haben und deswegen auch weder "schnell" noch "schneller" noch "langsam" sein kann. Aber vielleicht findest Du ja was zum Thema, mit dem Du mich überraschen oder -zeugen kannst)



  • Simon2 schrieb:

    neoexpert schrieb:

    Simon2 schrieb:

    neoexpert schrieb:

    ...
    Eine Sprache mit der man Hardwarenah programmieren kann, kann nie langsammer sein als Hardware.

    Welche Höchstegeschwindigkeit hat denn C++ so ? ... und Java ?

    Gruß,

    Simon2.

    höchstgeschwindigkeiten???
    nunja, zur zeit vielleicht so schnell wie der schnellste Computer der welt:
    http://www.n-tv.de/601537.html
    ich glaube aber es gibt noch schnellere...

    Äh ... ich finde da gar keine Angabe zur "Höchstgeschwindigkeit von C++" - und warte folglich immer noch auf eine Antwort.

    Gruß,

    Simon2.

    (P.S.: Ganz unironisch will ich nur (nochmal) darauf hinweisen, dass eine Programmiersprache gar keine "Geschwindigkeit" haben und deswegen auch weder "schnell" noch "schneller" noch "langsam" sein kann. Aber vielleicht findest Du ja was zum Thema, mit dem Du mich überraschen oder -zeugen kannst)

    Deswegen steht da auch:
    höchstgeschwindigkeiten**???**
    nunja, zur zeit vielleicht so schnell wie der schnellste Computer der ...
    Ich habe nämlich gedacht das war dein ernst 🙂



  • Erstmal eine kleine Übersicht über die Supercomputer hier und jetzt noch etwas über den aktuell stärksten nicht-militärischen, das gibts hier.

    Ürigens heißt er nicht mehr Roadrunner, aber das ist bei den Wikipedia-Leuten noch nicht angekommen. Derzeit hat er afaik noch keinen neuen offiziellen Namen.



  • Supercomputer schrieb:

    Erstmal eine kleine Übersicht über die Supercomputer hier und jetzt noch etwas über den aktuell stärksten nicht-militärischen, das gibts hier.

    Ürigens heißt er nicht mehr Roadrunner, aber das ist bei den Wikipedia-Leuten noch nicht angekommen. Derzeit hat er afaik noch keinen neuen offiziellen Namen.

    Ok vergesst die Wikipedia-Auflistung der Supercomputer, schaut lieber hier.



  • neoexpert schrieb:

    ...
    Deswegen steht da auch:
    höchstgeschwindigkeiten**???**...

    Da hattest Du aber wohl den zusammenhang nicht gesehen zu:

    neoexpert schrieb:

    ...
    Eine Sprache [....] kann nie langsammer sein [...]

    Hier bringst Du wieder das Thema "Geschwindigkeit einer Programmiersprache" auf den Tisch. Wenn aber etwas "langsamer" (oder eben "schneller") sein kann, ist die Frage nach der "Höchstgeschwindigkeit" zwingend.
    Wenn Du also "Höchstgeschwindigkeit" nicht sinnvoll in den Zusammenhang bringen kannst, sind auch Kategorien wie "langsam(er)" sinnlos....

    Gruß,

    Simon2.



  • Was ist für euch die Geschwindigkeit einer Programmiersprache?

    Für mich ist das die Geschwindigkeit mit der ich darin ein Programm schreiben kann, macht ja auch durchaus sinn, das so zu gebrauchen. Da man auch sagt: in Ruby kannst du schneller einen FTP Client schreiben als in C.
    Also scheint Ruby schneller zu sein als C.

    Der C-Programmierer antwortet dann natürlich "Ja, da hast du recht, aber ich schreibe meinen FTP-Client in C, da ich hier größeren Einfluss auf die Ausführungsgeschwindigkeit habe.".
    Und da hat er auch recht, allerdings kann man auch in Ruby unterschiedlich effizienten Code schreiben.

    Und dann ist da noch die große Frage: wie vergleichen wir? Die Ausführungsgeschwindigkeit des entstandenen Programms hängt ja von dem Compiler ab, insofern man überhaupt einen benutzt und keinen Interpreter, von den verwendeten Bibliotheken, vielleicht sogar von dem Betriebssystem.

    Wie will man also ernsthaft die Ausführungsgeschwindigkeit von Programmiersprachen vergleichen? Nehmen wir einmal Java, da fängt ja schon die Frage an: welche Virtual Machine benutzen wir für den Test? Welches Betriebssystem? Welche Hardware? Wie können wir sicher sein, dass wir die richtige Kombination von all diesen Parameter haben und das Programm so geschrieben haben, dass es auf dieser Kombination die optimale Ausführungsgeschwindigkeit liefert?



  • Schlauer Fragesteller schrieb:

    Was ist für euch die Geschwindigkeit einer Programmiersprache?...

    Eben!
    Das versuche ich hier schon länger und öfter einzubringen - aber Du hast es viel schöner und besser auf den Punkt gebracht.

    Gruß,

    Simon2.



  • Hi,

    willkommen bei den Kümmelspaltern.
    Das ist genau so schnacksig wie damals die immer wiederkehrenden Vergleiche ob nun der Arj oder der LHArc oder der LHA oder der Rar schneller sind. Und dann wurden gewaltige Benchmarks gefahren die zeigen sollten, daß der oder jener 3 ms schneller war.
    Wens Sachen sind, wo wirklich gigantisch viel zu rechnen ist, dann empfehle ich auch heute noch Fortran, und ansonsten ists doch fast egal. Die Rechner sind heute so schnell, das die Zeitverzögerung fast immer 30 cm VOR dem Bildschirm sitzt. Und bei gößeren Projekten dauert die Entwicklung meist doch ein wenig länger, so daß die Rechner dann auch schon wieder schneller sind.
    Was die Ausführungszeit gewaltig ausbremsen kann, sind Plattenzugriffe, aber dann muß ich eben meinen Algorithmus ein wenig überdenken oder auf Solid-Disks zurückgreifen. Meist ist der Einflus eines guten oder schlechten Programmierers um den Faktor 10 wirksamer als eine Änderung der Programmiersprache.
    Was nützt das schnellste Programm, wenn das Ergebnis nicht korrekt ist oder sich nicht an Änderungen anpassen lässt.
    Was heute wirklich zählt ist wie schnell und exakt sich das Programm erstellen läßt und wie gut es später zu ändern oder anzupassen ist. Und da ist die Unterstützung durch die Entwicklungsumgebung wesentlich entscheidender als die Spreache an sich.

    Gruß Mümmel



  • Es ging von Anfang an um die geschwindigkeit der Programme die mit einer Programmiersprache geschrieben werden und da kann es schon passieren, dass ein Programm langsamer läuft als das andere, wenn man mit verschiedenen pogrammiersprachen programmiert...
    hier ist eine liste der möglichen:
    http://de.wikipedia.org/wiki/Liste_der_Programmiersprachen
    Es ist also klar, dass programme die mit Skriptsprachen wie PHP oder Perl nie die geschwindigkeit erreichen die mit einer sprache geschrieben wurden mit der man nur reinen maschinencode im Endergebniss hat.
    Achja übrigens, mit welcher sprache wurde denn Java geschrieben?



  • neoexpert schrieb:

    Es ist also klar, dass programme die mit Skriptsprachen wie PHP oder Perl nie die geschwindigkeit erreichen die mit einer sprache geschrieben wurden mit der man nur reinen maschinencode im Endergebniss hat.

    du hast es immer noch nicht verstanden. die 'sprache' ist nur ein formalismus, mit dem man 'nem computer sagen kann, was er machen soll. ob's zu maschinencode compiliert oder ein interpreter jedes bit dreimal umdrehen muss, hat mit der sprache nichts zu tun.
    🙂



  • -fricky- schrieb:

    du hast es immer noch nicht verstanden. die 'sprache' ist nur ein formalismus, mit dem man 'nem computer sagen kann, was er machen soll. ob's zu maschinencode compiliert oder ein interpreter jedes bit dreimal umdrehen muss, hat mit der sprache nichts zu tun.

    Wie gesagt, es ging ja um Programme die mit einer sprache geschriben sind.
    Ich habe aber den Begrif sprache verwendet, weil es hier in diesem thread darum geht...
    wahrscheinlich meinte der "IT-TITAN" auch, dass die Software die mit java geschrieben wird schneller ist als eine Software die mit c++ geschriben wurde. Das stimmt aber nicht.
    deswegen sage ich: Programme die mit einer Programmiersprache geschriebn sind, mit der man hardwarenah programmieren kann, können nie langsammer sein als Hardware.



  • neoexpert schrieb:

    Programme die mit einer Programmiersprache geschriebn sind, mit der man hardwarenah programmieren kann, können nie langsammer sein als Hardware.

    Das Statement ist vollkommener Blödsinn.



  • Blödsinn Aussagen gibt es nicht.
    es gibt nur wahre oder falsche Aussagen.



  • neoexpert schrieb:

    Blödsinn Aussagen gibt es nicht.
    es gibt nur wahre oder falsche Aussagen.

    ich denke auch manchmal gern ein bisschen grau 🙂



  • Nur so als Anregung: für wirklich zeitkritische Sachen gibt es extra Hardware die das erledigt.
    Scheinbar gibt es also schon einen Unterschied, ob etwas fest verdrahtet ist, oder ob man eine generische programmierbare Hardware benutzt.

    Was ist, wenn ich einen PHP Compiler schreibe der dir eine ausführbare Datei erzeugt, oder noch besser ich speichere das Maschienencode-Compilat des PHP JITers ab (ggf. noch paar Sachen ergänzen damit es auch ausführbar ist).
    Dann wird das Programm plötzlich nicht mehr interpretiert vor der Ausführung.

    Oder ich starte dein C-Programm einfach mit einem C-Interpreter...

    ...und so weiter und so fort.



  • Jaja, allgemein ist das aber so, dass C programme immer erst compiliert werden.



  • Eine Sprache ist vielleicht nicht schneller oder langsamer als eine andere, aber in der Praxis ist die Wahl der Sprache doch wichtig, wenn Ressourcen sparen angesagt ist.

    Schreib doch mal ein Programm in Python und versuche das auf einem Low-End Mikrocontroller (zB in einer einfachen digitalen Küchenuhr) zum Laufen zu bringen. Geht nicht so gut? Nein, weil Interpreter und Programm viel zu viele Ressourcen verbrauchen -> ist langsamer. Warum wird für sowas also C eingesetzt? Weil man damit sehr sparsam programmieren kann.

    Wer hatte nochmal die schöne Signatur mit der Theorie und Praxis? 😃
    Eine Sprache A ist nicht schneller als eine Sprache B, aber wenn ich in beiden Sprachen 100 Programme schreibe und allesamt werden vom jeweils "besten" Compiler bei A in effizienterem Maschinencode verwandelt, kann man doch durchaus behaupten, daß A schneller ist, oder?



  • neoexpert schrieb:

    Jaja, allgemein ist das aber so, dass C programme immer erst compiliert werden.

    Nein, das ist falsch, bzw. du weißt es nicht besser. "allgemein" bzw. "im Allgemeinen" benutzt man, wenn man keinerlei Einschränkungen macht.
    Und im Allgemeinen wird ein C Programm eben nicht kompiliert.

    Nagila Hawa, du wirfst da schon wieder vieles durcheinander, offensichtlich vergleichst du hier zwei verschiedene Compiler und nicht die Sprachen auf ihre Unterschiede was die Geschwindigkeit angeht.
    Man benutzt C übrigens in diesen Fällen, weil man für C sehr leicht einen Compiler schreiben kann zum einen und der Hauptgrund: die Leute in dem Umfeld haben C einfach zum Standard gemacht.
    Wenn ich eine rekursive Datenstruktur, wie einen Baum, speichern will dann denk ich auch sofort an XML und komme nicht auf die Idee es als CVS zu speichern, nicht weil es nicht gehen würde, sondern weil XML der Standard ist. Es dementsprechend genügend Know-How gibt auf das ich zugreifen kann, etc.

    Was C übrigens so angenehm für die Microcontroller macht ist die Einfachheit, weil der Programmierer alles machen muss. Und dann sind wir schon wieder bei dem oben gesagten: ein Compiler lässt sich sehr leicht entwerfen für C.

    P.S. Bitte beachtet das leicht in Verbindung mit einem Compiler als "relativ leicht", also im Vergleich zu Compilern für andere Sprachen, wie C++.


Anmelden zum Antworten