Geschwindigkeit Java unter Linux

A

Argoran

Grünschnabel
Hallo,

habe ein Problem mit einer Java-Anwendung unter Linux:
Code:
		double erg = 0;
		int b = 20;
		long i;
		double z;
		long time1 = System.currentTimeMillis();
		for (i = 1; (z = erg + 1.0/i) < b; i++)
		{
			erg = z;
		}
		long time2 = System.currentTimeMillis();
		System.out.println(erg);
		System.out.println(i);
		System.out.println("Rechenzeit: " + (time2 - time1) + " ms");

Diese Zeilen brauchen unter Linux ca. 45 Sekunden und unter Windows gerade mal 2. Unter Linux hab ich zwar noch die 1.5 vm drauf, aber auch bei WIn braucht es gerade mal ein paar ms länger mit vm 1.5. Hat jemand eine Idee was da los ist?

thx

Argo
 
Also ich hab einen AMD Duron, 1,8GHz, allerdings sagt meine Java-Version das hier:

Code:
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

Wie dem auch sei, das hier ist die Ausgabe deines niedlichen Programms:
Code:
19.999999997947167
272400600
Rechenzeit: 15517 ms
//  bzw. bei einem zweiten Durchlauf
19.999999997947167
272400600
Rechenzeit: 14522 ms

Also ca. 15 Sekunden. (Jeweils getestet auf Linux, FC6). Warum das allerdings auf Windows schneller ist kann ich dir nicht sagen. Oo
 
Nur mal so als Tip, wenn du so einfache Programme hast wie das angegebene, dann kannst du auch auf den gnu java compiler zurückgreifen.

Mit GCJ kannst du auch binaries erstellen, die dann dementsprechend auch schneller ausgeführt werden.

Ein problem ist eben dass GCJ die SUN libraries nicht alle implementiert hat aber solange du so relativ simple programme wie das angegebene hast, sollte das kein problem sein.
 
Ich habe etwas andere Ergebnisse:

Testsystem: Debian Etch Amd64

Bytecode:
Code:
gij (GNU libgcj) version 4.1.2: ~22s
sun java "1.5.0_10": ~ 2,81s

Binary:
Code:
gcj 4.1.2: ~3.86s

Vergleich zu C/C++

Code:
gcc 4.1.2: ~3.87s
g++ (gcc 4.1.2): ~ 3.98s
 
Ich habe hier ca. eine Sekunde unterschied feststellen können, richtig vergleichbar ist es leider trotzdem nicht, da ich unter XP kein Java 5 mehr finden konnte.
ca. 9 Sekunden unter Gentoo mit Java 5 SDK
ca. 8 Sekunden unter XP mit Java 6 SDK

Das ganze mit einem AMD64 3200+
 

Ähnliche Themen

Gnome Classic Desktop: Home-Inhalt Icons ausblenden

XFCE freezes at startup

Festplatte friert ein nach suspend/resume

Java Development Kit Installation

Ubuntu X / dbus problem

Zurück
Oben