Autor Thema: Kommunikation zwischen Modulen  (Gelesen 13553 mal)

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #20 am: 23. December 2005, 22:52 »
Ich bin mir nicht sicher, aber ist es nicht so?:

Java Quellcode -> Java Bytecode -> Maschinencode

Den ersten Schritt macht der "Compiler", den zweiten Schritt die "Virtual Machine"...
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #21 am: 24. December 2005, 00:09 »
Java Quellcode --> kompilieren mit javac ---> Java Bytecode ---> just-in-time kompilieren mit unserem Compiler ---> Maschienencode

Je nach Compiler und Optimierungen kann der Javacode fast C++ Geschwindigkeit erreichen.

Legend

  • Beiträge: 635
    • Profil anzeigen
    • http://os.joachimnock.de
Gespeichert
« Antwort #22 am: 24. December 2005, 00:14 »
Doch, so wie joachim_neu es beschrieben hat stimmt es.
Das Ergebnis des JIT-Schrittes kann genauso gut sein, kommt auf die Anzahl der durchgeführten Optimierungen an. Jede Optimierung kostet Zeit, das ist ein Problem. Deswegen lohnt es sich nicht Code der nur einmal durchlaufen zu kompilieren.

Theoretisch hat ein JIT Compiler mehr Möglichkeiten zu optimieren.
Sun's VM ist bei Sachen die nur in der VM ablaufen eigentlich gleich schnell, ganz besonders bei mathematischen Berechnungen wie ich es mal in Benchmarks gesehen hatte. Ein grosses Problem wie ich mal gemerkt habe ist das geringe Tempo von JNI in Sun's VM. Und das man die erstmal starten muss. Aber das beheben wir ja! :)
*post*

 

Einloggen