On Fri, May 25, 2007 at 05:39:22PM +0200, Frank Gerlach wrote: Hi Frank,
Auch wenn man eine Super JVM und einen superoptimierenden Compiler hat, belibt die Tatsache bestehen, dass man keine Objekte auf dem Stack anlegen kann, dass keine Objektarrays moeglich sind (sondern nur Referenzarrays) sowie das komplizierte Datenstrukturen immer viele Zeigerdereferenzierungen verlangen. Und wenn man in einer Schleife 10^6 mal etwas dereferenziert macht sich das *sehr wohl* bemerkbar.
Das man in der Sprache keine Arrays anlegen kann heißt noch lange nicht dass das Runtime Environment keine Speicheroptimierungen vornimmt...
Auch wenn du ein Pointer in einer Schleife dereferenzierst ist es höchst wahrscheinlich das entweder der Compiler die Dereferenzierung cached oder der dereferenzierte Pointer im CPU Cache vorgehalten wird und wir in dem Fall ganz andere Performanceprobleme (X-Server, Console-Ausgabe etc.) haben.
Ich verstehe auch diesen Flameware hier nicht ganz. In der realen Welt nimmt man für jede spezielle Aufgabe ein passendes Werkzeug, genau so verwendet man bei der Programmierung halt eine passende Programmiersprache.
In der Bremsanlage meines Autos möchte ich halt ein Assembler/C Programm laufen haben und keine JRE, Business-Software sollte man der Wartung wegen aber lieber mit Java schreiben, da spielt Performance einfach keine Rolle.
Also bitte beendet jetzt diesen sinnlosen Thread!!!
Ciao, Tobias