• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Java Performance

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Hi Leutz,

Java ist lahm... stimmts?

Seltsam: Der Mac ist teuer (= sein Geld nicht wert ;)) - und kann nur mit einer Eintastenmaus, wird nur von schwulen Designern verwendet, Russen sind kriminell, Polen klauen und Java ist lahm.

Es gibt Gerüchte, die halten sich Jahrzehnte lang.

Bin heute über einen Artikel gestolpert, der zumindest mit dem letzten Vorurteil aufräumt:

So, Ladies and Gents, v.a. C++ und .net Anhänger: Pull your socks up!


Benchmark: Java im Vergleich zu C++ und C#




Gruß,

.commander
 

G5_Dual

Melrose
Registriert
31.05.04
Beiträge
2.476
Sollte man sagen Java auf dem Mac ist lahm?
Jedenfalls ist mein Dual 2 Ghz um einen Faktor 4-6 langsamer als der schnellste, ein SUN.
Selbst im Terminal noch, obwohl er da schon schneller als im Browser ist.
Seltsamerweise benutzt er im Browser die 1,5 er und im Terminal die 1,4 er Version.
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Was die Oberfläche angeht: Ja, wenns schlecht implementiert ist: Java -> Cocoa -> Pinselfläche, das kann lahm sein. Oder wenn man den AWT Eventdispatcher anhält, weil man von Multithreading noch nie was gehört hat...

Aber bei Serveranwendungen sollt es klar sein ;)

Mal schauen, wie die Intel VMs am Mac performen! Bisher hat sich da Apple mit der vollmundigen 'Javaplattform' nicht gerade mit Ruhm bekleckert...

Gruß,

.commander
 

FloydThreepwood

Stechapfel
Registriert
19.01.06
Beiträge
161
Was haben die da gestestet? Üblicherweise macht man solche Tests ohne Grafische Oberflächen und dann stimmt die ganze Sache auch! Java an sich ist nicht langsam, langsam war alledings schon immer AWT und vor allem Swing. Der Rest läuft in georneten Bahnen und kann dank JIT Compiler schon länger zu C++ aufschließen...

Kann mich vieleicht mal jemand aufklären was die da jetzt genau gebenchmarkt ahben?

CU FT
 

G5_Dual

Melrose
Registriert
31.05.04
Beiträge
2.476
Und mit was kann man erklären das er 2 verschieden Versionen nutzt?
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Die Benchmarks basieren auf gängigen (bzw. normierten) Anwendungsfällen ohne GUI.

Ich hab nur das erste mal einigermassen verlässliche Zahlen gesehen und musste mal das posten, was bestätigt, was ich selbst längst weiß.

Leider darf ich von der Applikation, die auf dem Java-Framework basiert, das ich mitentwickelt habe, noch nicht veröffentlichen: das stellt dann auch die (dogmainduzierte) Oberflächenabstraktion in einem ganz neuem Licht dar: Ja, völlig vom PointClick Standard abweichende GUI und trotzdem auf allen gängigen Plattformen (fast) ohne Zutun gleiches L&F! Was für ein Segen.

@ G5_Dual: was meinen? 1.4.2 und 1.5.0 ?

Gruß,

.commander
 

bezierkurve

Halberstädter Jungfernapfel
Registriert
12.06.05
Beiträge
3.860
G5_Dual schrieb:
Und mit was kann man erklären das er 2 verschieden Versionen nutzt?
...damit, dass im "Java Preferences"-Tool (in den Dienstprogrammen, unter Java) unterschiedliche Versionen für Programme und Applets ausgewählt sind, z.B.
 

slayercon

Meraner
Registriert
17.01.05
Beiträge
231
Gut das Commander die Java Flagge hochhält :)

Für alle die Zahlen nicht glauben....
Hier gibt es die original demo von Quake2 in reinem Java implementiert....
da soll noch wer sagen es ist langsam ...
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
commander schrieb:
So, Ladies and Gents, v.a. C++ und .net Anhänger: Pull your socks up!


Benchmark: Java im Vergleich zu C++ und C#
  1. Sollte es einem schon bekannt sein, daß eine JVM in vielen Aspekten schnell sein kann.
  2. Eine JVM Vorteile hat, wenn es um das Dispatching von virtuellen Funktionen geht, da sie Informationen zum Optimieren hat, die ein Compilat nicht mehr besitzt.
  3. Java an einer bekannten Krankheit leidet, die unter bestimmten Umständen die Performance ganz übel versaut. Es geht sehr viel ineffizienter (Es werden Standardannahmen über die Speicheranforderungen und Wiederverwendung gemacht und die treffen halt nicht immer zu) mit dem Arbeitsspeicher um, als von Hand geschriebene Programme. Bei den meisten Java Apps ist das kein Problem. Aber bei größeren Serveranwendungen gibt es immer wieder Lösungen, die mangels Arbeitsspeicher ganz langsam werden. Üblicherweise wird dann eine dicke SUN, IBM oder HP hingestellt und das Problem ist erschlagen.
  4. Die Algorithmen in den meisten Benchmarks sind mit äußerster Vorsicht zu genießen. Z.B. Wer würde denn im richtigem Leben noch das Sieb des Eratosthenes benutzen? Es gibt sehr viel effizientere Algorithmen, sowohl was die Laufzeit als auch den Speicherverbrauch anbelangt. Oftmals werden spezielle Algorithmen gewählt, weil sie bestimmte Sprachen besser dastehen lassen. Ganz übel ist z.B. der Language Shoot out bei debian.
 
Zuletzt bearbeitet:

weebee

Gast
commander schrieb:
Bin heute über einen Artikel gestolpert, der zumindest mit dem letzten Vorurteil aufräumt:

Danke.

Kannst Du mal für die Doofen unter uns in einfachen wenigen Worten schreiben, was da zu lesen ist.

Und noch eine Frage: Kennst Du OSX-Programme, die in Java geschrieben sind? Das wäre sicherlich für einen Nichtkenner mal interessant zu sehen, dass man vielleicht schon mit 'ne Java-Programm arbeitet ohne es zu wissen.
 

slayercon

Meraner
Registriert
17.01.05
Beiträge
231
cyberduck, zend, magic draw, neo officej (teilweise),Poseidon, jedit,Netbeans, und das sind nur die die ich benutze und trapper nicht genannt hat...
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
So ziemlich alle Entwicklertools...

Darüberhinaus bringt Java seine Stärke v.a. in Client-Server Anwendungen zum tragen.