Java im Gegensatz zur MFC



  • Hallo,

    eine Frage zu Java. Warum ist Java im Gegensatz zur MFC so unheimlich viel langsamer? Die Frage ist etwas plump, aber wenn ich z.B. Mouseevents (z.B.MouseMove) verwende, warum ist dort die MFC (bzw. VisualC++) so viel schneller? Liegt es u.a. am Just in time Compiler?

    Zeichne ich beispielsweise eine Linie über Mousemove, Mouseclick... zeichnet mir die MFC sehr viel schneller. Dafür finde ich, dass die MFC sehr viel absturzgefährdeter ist.

    Danke.



  • davidius schrieb:

    Dafür finde ich, dass die MFC sehr viel absturzgefährdeter ist.

    Das liegt dann in den meisten Fällen aber sicher an unsachgemäßer Verwendung, nicht an der MFC selbst...



  • @_matze:
    Der Unterschied ist halt dass MFC Programme bei unsachgemässer Verwendung gerne gleich abschmieren, während Java Programme bei unsachgemässer Verwendung von Libraries oft nur seltsame Dinge tun, aber eben nicht abschmieren 😉

    @davidius:
    Welches GUI Framework meinst du denn wenn du "Java" sagst? Ist ja nicht so dass es da nur eins gäbe...

    Und... lässt du das Programm im Debugger laufen, oder "frei"?



  • hustbaer schrieb:

    @_matze:
    Der Unterschied ist halt dass MFC Programme bei unsachgemässer Verwendung gerne gleich abschmieren, während Java Programme bei unsachgemässer Verwendung von Libraries oft nur seltsame Dinge tun, aber eben nicht abschmieren 😉

    Ja, und jetzt ist die Frage interessant, was nun besser ist. 😃 Ich würde doch stark zur MFC-Abschmier-Variante tendieren. Solange Fehler existieren, will ich auf Teufel komm raus darauf hingewiesen werden, bevor der ganze Krempel zu Kunden geht...



  • Lt. seriösen Benchmarks ist Java gegenüber C/C++ um Faktor 2 langsamer.
    Das sollte aber keine Auswirkung auf MouseMove haben. Ich kenne Java-Apps auf langsamen PCs und da gabs keine Probleme mit Mouse-Bewegungen (Verschieben/Zeichnen). Nur der Start dauerte 2 min (100% CPU), auf aktuellen Systemen 3 s.
    Eventuell ist dein Code nicht optimal.

    Die MFC selbst ist übrigens total stabil, Fehler des Programmierers kann es aber nicht "ausbügeln".


Anmelden zum Antworten