Anubis hat gesagt.:
Ich kenn mich da zwar nicht so ganz aus, aber ich glaub, dass C# schneller ist, weil Java im Prinzip auf C basiert.
Das ist nicht ganz die richtige erklärung. Du kannst nicht sagen, daß ein Golf 5 langsamer ist als Golf 4, weil der 5er auf dem 4er basiert. Die Ursache liegt ganz woanders.
C Programme werden direkt in Maschinensprache Kompiliert. Der Rechner bzw. Prozessor kann dann das Zeug dann direkt verarbeiten. Die Programme werden daher schneller ausgeführt sind aber Plattformabhängig d.h. dein Prog läuft entweder nur auf Windows oder nur Linux oder nur Mac, je nachdem für welche Platform du es kompiliert hast.
Java Programme werden in Bytecode übersetzt, der für alle Platformen gleich ist d.h. du kannst das gleiche Programm auf jeder beliebigen Platform laufen lassen.
Das ist ja klasse sagst du jetzt sicher.
Ja das ist es. Leider hat die sache aber einen kleinen Hacken.
Der Prozessor versteht den Bytecode nicht!
Toll! Und wozu dann Java? Was soll ich damit, wenn es nicht auf meinem Rechner läuft? - denkst du jetzt vielleicht.
Hym ... mal schauen. Wie kriegen wir es hin, daß unser Prozessor Bytecode versteht?
Ganz einfach, wir organisieren jemanden der Bytecode versteht und der soll es unserem Prozessor übersetzen.
Dieser jemand ist die JVM (Java Virtual Machine).
Es ist ein Stück Software oder besser gesagt ein Softwareprozessor den man ganz normal auf jeder Platform installieren. Die JVM verarbeitet den Bytecode und erklärt unserem Prozessor was er machen soll.
Dieser umweg über die Software kostet Zeit.
Dies ist der Grund dafür, dass Java langsamer ist als C.
Dafür ist es in Java einfacher Fehler zu vermeiden.
Prozesse die bei C von Hand gemacht werden müssen, wie z.B. das vernichten nicht mehr benötigter Objekte die Speicherplatz belegen, werden bei Java automatisch erledigt.
Wenn man also kein Vollprofi in C ist, kann es sein, dass die eigenen Progs in C dennoch langsamer sind als die gleichen Programme in Java, weil man einige Bugs reingehauen hat.
Hängt also alles davon ab, was du machst und wie gut du es machst