Java vs. C. Performance-Vergleich



  • Michael E. schrieb:

    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.

    Falsch.

    Michael E. schrieb:

    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.

    Habe ich auch nciht behauptet.

    Michael E. schrieb:

    Also musst du deine C-Variante meinen.

    Die wurde zer-optimiert und braucht bei mir erst bei INT_MAX ein paar Sekunden.

    Michael E. schrieb:

    Außerdem musst du deinen Rechner meinen, weil du nicht wissen kannst, wie sich deine C-Variante auf Steffos Rechner verhält.

    Meine C-Variante ist eine leicht veränderte Version seiner. (ein paar const mehr, ein bisschen umgestellt, damit's schöner aussieht.)

    Michael E. schrieb:

    Das heißt also, dass du gerade an einer unterirdisch schlechten C-Variante bastelst, nur damit deine Aussage wahr ist 🤡

    Nein, ich hab besseres zu tun.

    Um deinen post kurz zusammenzufassen:
    - Du stellst dich weiterhin dumm, damit du auf mich losgehen kannst.
    - Du machst weiterhin dumme Unterstellungen, damit du auf mich losgehen kannst.
    - Das ganze funktioniert auch noch wunderbar. So sei es, gegen eine Horde von dummgestellen komme ich nicht an.



  • 314159265358979 schrieb:

    Michael E. schrieb:

    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.

    Falsch.

    Dann mach es nicht so spannend und verrate mir, wie ich deinen Satz zu interpretieren habe 🙄

    Zur Erinnerung:

    Steffo schrieb:

    Bei mir etwas langsamer als C. 🙂

    [stefano@localhost aufgabe2]$ time ./bubblesort-cpp 100000
    
    real	1m18.260s
    user	1m18.184s
    sys	0m0.041s
    

    Daraufhin du:

    314159265358979 schrieb:

    @Steffo: Nö, eine Minute schneller.

    Aber dein letzter Satz deutet ja schon darauf hin, dass du deinen Fehler nicht eingestehst und den Klügeren mimst, der nicht mehr antwortet.



  • @PI: Du bist wirklich der Alptraum eines jeden Arbeitgebers! Absolut untauglich mit anderen zusammenzuarbeiten und den Fehler immer bei Anderen suchend.
    Du solltest wirklich an deiner Kommunikation und Denkweise arbeiten!



  • Das ist das einzige Forum das ich kenne, in dem sich unverbesserliche, lernresistente und vor allem grenzenlos unverschämte Trolle wie PI, die nichts - aber auch gar nichts - konstruktiv beitragen, derartig lange ungestraft halten können. Und das alles nur zu volkards Belustigung 😞



  • forenkenner schrieb:

    Das ist das einzige Forum das ich kenne, in dem sich unverbesserliche, lernresistente und vor allem grenzenlos unverschämte Trolle wie PI, die nichts - aber auch gar nichts - konstruktiv beitragen, derartig lange ungestraft halten können. Und das alles nur zu volkards Belustigung 😞

    Genau das habe ich mir auch gedacht (das mit Volkards ausgenommen). Ich wäre wirklich dafür PI zu kicken und die Trollbeiträge hier zu löschen.

    L. G.
    Steffo



  • LOL.

    Mal die letzten Posts gekürzt:
    - Missverständnis
    - Man stellt sich dumm
    - Man macht Unterstellungen
    - Man sucht mit Gewalt nach Fehlern bei PI.
    - Man versucht, um jeden Preis auf PI zu hauen, schließlich mag man ihn ja nicht, also erhofft man sich, ihn so loszuwerden.

    Aber ja, du hast Recht. Ich bin total unfähig, mit anderen zusammenzuarbeiten.



  • Kommt denn noch eine Erklärung von dir?



  • Nö, du findest sicher irgendwas, wo du was dazuerfinden kannst, oder was du mit Absicht falsch interpretieren kannst. Das erspar ich mir.



  • 314159265358979 schrieb:

    LOL.

    Mal die letzten Posts gekürzt:
    - Missverständnis
    - Man stellt sich dumm
    - Man macht Unterstellungen
    - Man sucht mit Gewalt nach Fehlern bei PI.
    - Man versucht, um jeden Preis auf PI zu hauen, schließlich mag man ihn ja nicht, also erhofft man sich, ihn so loszuwerden.

    Aber ja, du hast Recht. Ich bin total unfähig, mit anderen zusammenzuarbeiten.

    Wenn man versucht auf dich einzugehen, weichst du nur aus und unterstellst Dummheit. Wie sollen denn deine Beiträge gemeint sein?! Weder Michael E., noch ich oder irgendjemand anders hier wissen, wie das mit "eine Minute schneller" gemeint sein soll. Du bist bis jetzt nicht darauf eingegangen, sondern hast uns alle konsequent als dumme Horde bezeichnet und zu nichts weiterem beigetragen. Den Fehler bei uns zu suchen kann man nur noch als soziopathisch bezeichnen!



  • Es wäre ja nicht so, dass das das erste mal wäre. Selbst ich, der ich hier nicht allzu regelmäßig lese, stolpere dafür dann aber so ziemlich jedes Mal, wenn ich doch hier lese über irgendwelche Peinlichkeiten deinerseits. Das erweckt den Eindruck, dass der Fehler bei dir zu suchen ist. Insbesondere wenn man sich ansieht, dass du abgesehen von deinen Wahnsinns-Programmierer-Skills nichts vorzuweisen hast und dir trotzdem vorkommst wie Linus Torvalds - und dich entsprechend ungut verhältst.



  • Auf mich eingehen? Wie bitte? Die einzige Art, wie ihr auf mich "eingeht", ist, dass ihr meine Posts gedanklich so umbiegt, damit da für euch steht, dass ich Mist geschrieben habe. Auf diese Uminterpretation antwortet ihr dann.

    Verarschen kann ich mich auch selbst, dazu brauche ich euch nicht.



  • Dann schlage ich vor, du löschst deinen Account. Dann machst du dir und uns einen Gefallen! 🙂



  • *tust

    Den Gefallen tu ich euch nicht.



  • Setze dich mal mit deiner Krankheit auseinander:

    Die dissoziale Persönlichkeitsstörung ist durch ausgeprägte Diskrepanz zwischen Verhalten und geltenden sozialen Normen gekennzeichnet. Typische Merkmale sind

    - Unfähigkeit, sich in andere hineinzuversetzen
    - Unfähigkeit zur Verantwortungsübernahme, gleichzeitig eine klare Ablehnung und Missachtung sämtlicher sozialer Normen, Regeln und Verpflichtungen
    - Unfähigkeit, längerfristige Beziehungen aufrechtzuerhalten, jedoch keine Probleme mit der Aufnahme frischer Beziehungen
    - Geringe Frustrationstoleranz, Neigung zu aggressivem und gewalttätigem Verhalten
    - Fehlendes Schuldbewusstsein
    - Unfähigkeit, aus Erfahrungen zu lernen.

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



  • kalt



  • Steffo: Dem anderen eine psychische Erkrankung zu unterstellen, ist auch nicht nett. Das hast du doch gar nicht nötig 🙂



  • Aber es wäre schon mal interessant zu wissen, ob Pee nur ein Troll ist oder wirklich so dumm.



  • Steffo schrieb:

    [steffo@localhost aufgabe2]$ time ./bubblesort 100000
    a[0]=670
    
    real	1m17.174s
    user	1m17.112s
    sys	0m0.026s
    [steffo@localhost aufgabe2]$ time java Bubblesort 100000
    a[0]=-2147458265
    
    real	1m47.629s
    user	1m47.539s
    sys	0m0.875s
    

    Ok, das C++ Programm braucht also nur ~70% der Zeit des Javaprogramms. Das hört sich ungefähr nach dem an, was ich typischerweise annehmen würde. Aber so ein geringer Performanceunterschied ist natürlich nicht das, weswegen Java von einigen für langsam gehalten wird. Ich denke, wirkliche Unterschiede wird man sehen, wenn man stark objektorientierten Code schreibt. ...mit vielen kleinen Objekten, die man in C++ vielleicht auf den Stack legen würde. Wenn Du einen großen Unterschied zwischen den beiden Sprachen sehen willst, dann musst Du ein Programm schreiben, in dem derartiges zu finden ist.



  • Gregor schrieb:

    Wenn Du einen großen Unterschied zwischen den beiden Sprachen sehen willst, dann musst Du ein Programm schreiben, in dem derartiges zu finden ist.

    So ist es. Gregor und ich haben uns früher haufenweise solche Programme um die Ohren gehauen, die eine Schwäche der Implementierung der anderen Standardlib ausnutzten, und haben dann mit Faktor 3 und mehr behauptet, die andere Sprache sei prinzipiell ungeheuer langsam.



  • Gregor schrieb:

    Ok, das C++ Programm braucht also nur ~70% der Zeit des Javaprogramms. Das hört sich ungefähr nach dem an, was ich typischerweise annehmen würde. Aber so ein geringer Performanceunterschied ist natürlich nicht das, weswegen Java von einigen für langsam gehalten wird. Ich denke, wirkliche Unterschiede wird man sehen, wenn man stark objektorientierten Code schreibt. ...mit vielen kleinen Objekten, die man in C++ vielleicht auf den Stack legen würde. Wenn Du einen großen Unterschied zwischen den beiden Sprachen sehen willst, dann musst Du ein Programm schreiben, in dem derartiges zu finden ist.

    Ich bin wirklich kein Profi, aber soweit ich weiss, werden Javaprogramme hauptsächlich wegen Swing als langsam empfunden, weil dort alles selbst gezeichnet wird anstatt direkt vom OS.
    Der nächst Punkt zum Stack (wie gesagt, bin kein Profi, aber unser Prof hat das so gesagt 😉 ) ist der, dass beim Stack Rücksprungsadressen gespeichert werden, d. h. BufferOverflows bei dem eine eigene Rücksprungsadresse mit eigenem Code untergejubelt wird, problemlose möglich sind. Beim Heap geht das nicht. Außerdem kann man seine eigenen Programme mit valgrind (was unser Prof. für die C/C++-Programmiung für unverzichtbar hält) nicht vollständig testen, da valgrind nur den Heap beobachtet.

    Liebe Grüße
    Steffo


Anmelden zum Antworten