[Perfromance Benchmark] Java - C++



  • Warum sind groessere IDE's wie z.B. JBuilder so langsam?

    Das liegt daran, wie die Programmierer eingestellt sind. C++-Programmierer haben immer und überall Geschwindigkeit im Hinterkopf. Java-Programmierer denken immer nur daran sauber zu designen.

    Beispiel:

    void foo(std::string bar)
    {
       ...
    }
    

    Dann ein Dialog zwischen jemandem, der schon länger mit C++ arbeitet und dem Programmierer dieses Code-Stücks (so in etwa):

    - Es ist in C++ üblich den String als konstante Referenz zu übergeben.
    > Aha. Und warum?
    - Weil es deutlich schneller geht. So muss jedes mal der komplette String übergeben werden.
    > Ja und? die Funktion wird doch nicht an Performance-kritischen Stellen eingesetzt.
    - Normalerweise gewöhnt man sich einfach an alles außer die nativen Typen als konstante Referenz zu übergeben.
    > Find ich doof. Das ist doch total unübersichtlich. Das würde ich nur machen, wenn ich merke, dass es ein Flaschenhals im Programm ist. So kann man das doch viel besser lesen.
    ...

    Viele C++-Programmierer drehen schon fast durch, wenn sie so einen Code sehen. Viele Java-Programmierer sehen überhaupt keinen sinn darin.

    Ich fand dieses Gespräch auf jeden fall interessant.



  • Normalerweise gewöhnt man sich einfach an alles außer die nativen Typen als konstante Referenz zu übergeben.
    [...]
    Viele Java-Programmierer sehen überhaupt keinen sinn darin.

    In Java werden alle nicht-primitiven Typen per Referenz übergeben und dieses Verhalten lässt sich nur durch explizites clonen ändern. Ich kann deshalb nicht ganz nachvollziehen, wie das jetzt gemeint ist. 🙂



  • JBeni schrieb:

    (* das grösste Problem von Java sind die vielen Studenten mit ihrem Halbwissen...)

    Selber! :p



  • HalbwissenderStudent schrieb:

    JBeni schrieb:

    (* das grösste Problem von Java sind die vielen Studenten mit ihrem Halbwissen...)

    Selber! :p

    Ist doch so, die dümmsten Fragen (und der schlimmste Code) kommen immer von Studenten :p (guck mal in ein Java-Forum ;))

    (Ach ja, ich bin ja selbst Student. Mist, hm, *Ausred such* aber ich stelle keine Fragen :p ).



  • JBeni schrieb:

    Ist doch so, die dümmsten Fragen (und der schlimmste Code) kommen immer von Studenten :p (guck mal in ein Java-Forum ;))

    (Ach ja, ich bin ja selbst Student. Mist, hm, *Ausred such* aber ich stelle keine Fragen :p ).

    Das erklärt deinen schlimmen Code :p



  • Benckmark schrieb:

    Es gibt auch Benchmarks die etwas anderes zeigen 😮

    http://shootout.alioth.debian.org/benchmark.php

    Zumindest für einige viele Sprachen mehr und scheinbar auch seriöser.

    Von manchen Sprachen hab ich noch nix gehört, aber scheinbar schnell... 😕



  • interpreter schrieb:

    JBeni schrieb:

    Ist doch so, die dümmsten Fragen (und der schlimmste Code) kommen immer von Studenten :p (guck mal in ein Java-Forum ;))

    (Ach ja, ich bin ja selbst Student. Mist, hm, *Ausred such* aber ich stelle keine Fragen :p ).

    Das erklärt deinen schlimmen Code :p

    Mein Code ist schön wie eine klare Frühlingsnacht! Werde konkret, oder schweige für immer 😉



  • JBeni schrieb:

    HalbwissenderStudent schrieb:

    JBeni schrieb:

    (* das grösste Problem von Java sind die vielen Studenten mit ihrem Halbwissen...)

    Selber! :p

    Ist doch so, die dümmsten Fragen (und der schlimmste Code) kommen immer von Studenten :p (guck mal in ein Java-Forum ;))

    (Ach ja, ich bin ja selbst Student. Mist, hm, *Ausred such* aber ich stelle keine Fragen :p ).

    naja vieleicht liegst irgendwie darann, dass studenten noch in der ausbildung sind 😕



  • Optimizer schrieb:

    In Java werden alle nicht-primitiven Typen per Referenz übergeben und dieses Verhalten lässt sich nur durch explizites clonen ändern. Ich kann deshalb nicht ganz nachvollziehen, wie das jetzt gemeint ist. 🙂

    Versuch es doch mal zu verstehen...

    es geht in der geschichte nicht um reference vs value semantik.



  • In Java werden alle nicht-primitiven Typen per Referenz übergeben und dieses Verhalten lässt sich nur durch explizites clonen ändern. Ich kann deshalb nicht ganz nachvollziehen, wie das jetzt gemeint ist.

    Da ist ein Java-Programmierer, der aus irgendwelchen gründen C++ programmiert.



  • Ich hab nix gesagt. 😑


Anmelden zum Antworten