Java vs. C. Performance-Vergleich
-
Und was lernen wir daraus?
1. Mit dem richtigen Algorithmus (z.B. Mergesort) kann man viel mehr raus holen, als mit der Programmiersprache.
2. C++ ist die Englische Küche unter den Programmiersprachen.
-
time ./bubblesorttest 100000
real 0m18.808s
user 0m18.687s
sys 0m0.030sC++ mit folgendem Code:
#include <vector> #include <algorithm> #include <utility> #include <cstdlib> int main(int argc, char** argv) { std::vector<int> v(std::atoi(argv[1])); std::generate(v.begin(), v.end(), std::rand); for(int i = v.size(); i > 1; --i) for(int j = 0; j < i - 1; ++j) if(v[j] > v[j + 1]) std::swap(v[j], v[j + 1]); return 0; }
Und folgendem Aufruf:
g++ -O3 -march=native -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
-
314159265358979: Toll, auf diese Weise kann ich jede Sprache gegen jede gewinnen lassen. Ich muss nur noch meinen Pentium II suchen.
-
Wie bitte?
-
Du vergleichst Ausführungszeiten von unterschiedlichen Computern.
-
Falsch, ich vergleiche noch gar nichts. Und wenn du nicht so unglaublich blöd wärst, hättest du dir denken können, dass das Resultat mit Java gleich kommt. Aber hauptsache gleich mal auf PI drauf, dabei hast du ja nichts zu befürchten, richtig?
-
314159265358979 schrieb:
Falsch, ich vergleiche noch gar nichts. Und wenn du nicht so unglaublich blöd wärst, hättest du dir denken können, dass das Resultat mit Java gleich kommt. Aber hauptsache gleich mal auf PI drauf, dabei hast du ja nichts zu befürchten, richtig?
Soso, dass meine Glaskugel aber auch immer noch nicht richtig funktioniert. Muss wohl an meiner grenzenlosen Dummheit liegen.
Nettigkeiten kannst du dir sparen.
-
Wenn du deine Denkweise mal ändern würdest, würde das schon helfen.
-
314159265358979 schrieb:
Wenn du deine Denkweise mal ändern würdest, würde das schon helfen.
Ist es mein Fehler, wenn ich nicht erkenne, dass mindestens 25 Minuten später ein Post kommt, der deinen vorherigen legitimiert? Ich denke nicht.
-
314159265358979 schrieb:
time ./bubblesorttest 100000
real 0m18.808s
user 0m18.687s
sys 0m0.030sBei mir etwas langsamer als C.
[stefano@localhost aufgabe2]$ time ./bubblesort-cpp 100000 real 1m18.260s user 1m18.184s sys 0m0.041s
-
@Steffo: Nö, eine Minute schneller. C kommt gleich, momentchen.
-
314159265358979 schrieb:
@Steffo: Nö, eine Minute schneller. C kommt gleich, momentchen.
Wie meinen? Ich rede von meinem System. Da hat das C-Programm ca. 1m17s gebraucht.
-
314159265358979 schrieb:
@Steffo: Nö, eine Minute schneller.
ROFL
Weswegen hast du mich noch gleich beleidigt?
-
Michael E. schrieb:
314159265358979 schrieb:
@Steffo: Nö, eine Minute schneller.
ROFL
Weswegen hast du mich noch gleich beleidigt?
Genau das meine ich. Ignoranter Trottel.
-
314159265358979 schrieb:
Michael E. schrieb:
314159265358979 schrieb:
@Steffo: Nö, eine Minute schneller.
ROFL
Weswegen hast du mich noch gleich beleidigt?
Genau das meine ich. Ignoranter Trottel.
Bitte noch 30 Minuten warten mit dem Riesenstreit! Muß Chips und Cola kaufen.
-
Geht's noch?! Nie gelernt wie man anständig mit Menschen umgeht?!
Wenn ihr nicht aufpasst, wird der Thread noch wegen euch geschlossen!
-
Steffo schrieb:
Geht's noch?! Nie gelernt wie man anständig mit Menschen umgeht?!
Ich lasse mir nicht ans Bein pissen, das ist alles.
Steffo schrieb:
Wenn ihr nicht aufpasst, wird der Thread noch wegen euch geschlossen!
Das wäre doch super.
-
314159265358979 schrieb:
Steffo schrieb:
Geht's noch?! Nie gelernt wie man anständig mit Menschen umgeht?!
Ich lasse mir nicht ans Bein pissen, das ist alles.
Steffo schrieb:
Wenn ihr nicht aufpasst, wird der Thread noch wegen euch geschlossen!
Das wäre doch super.
Wie egoman ist denn das?! Es gibt Menschen, die Interesse haben die Diskussion hier weiterzuführen. Wenn dir der Thread nicht zusagt, kannst du ihn meiden!
-
*gähn
-
Pi: Dann verrate mir mal, wie ich deine Aussage zu verstehen habe: Die C++-Variante soll etwa eine Minute schneller sein als die C-Variante.
Die C-Variante von Steffo kann es nicht sein, denn die ist auf seinem System etwa so schnell wie die C++-Variante und ich glaube dir nicht, dass die C++-Variante bei dir 18 Sekunden braucht, während Steffos C-Variante bei dir über eine Minute brauchen soll. Also musst du deine C-Variante meinen. Außerdem musst du deinen Rechner meinen, weil du nicht wissen kannst, wie sich deine C-Variante auf Steffos Rechner verhält. Das heißt also, dass du gerade an einer unterirdisch schlechten C-Variante bastelst, nur damit deine Aussage wahr ist