Hi,
ich habe eine Frage zu der Performance einer Java-Anwendung, die für mich nicht nachvollziehbar ist. Ich habe 2 Testfälle, die ich auf verschiedenen Rechnern habe laufen lassen. Dabei ist auch ein Server gewesen, der deutlich mehr Rechenleistung hat als die anderen Rechner.
Fall 1:
Die Ausführung dauert auf "normalen" Windows Rechnern im Schnitt 60ms. Auf dem Server ca. 10ms. Soweit also alles in Ordnung.
Fall 2:
Model ist ein POJO, das lediglich 20 Properties und die entsprechenden Getter und Setter hat. Hierbei ist die Zeit der Ausführung nicht nachvollziehbar. Auf den meisten Rechnern ist die Ausführung in ca. 130ms durch. Auf dem Server dauert es mit der 32bit JRE 300ms und mit der 64bit JRE 600ms.
Kann sich von euch jemand erklären warum sich der 1. und der 2. Fall so deutlich unterscheiden? Also warum die Ausführung auf deutlich schwächeren Rechnern doch um ein vielfaches Schneller ist.
ich habe eine Frage zu der Performance einer Java-Anwendung, die für mich nicht nachvollziehbar ist. Ich habe 2 Testfälle, die ich auf verschiedenen Rechnern habe laufen lassen. Dabei ist auch ein Server gewesen, der deutlich mehr Rechenleistung hat als die anderen Rechner.
Fall 1:
Java:
long t1 = System.currentTimeMillis();
for (int i=0; i<100000000; i++) {
}
long t2 = System.currentTimeMillis();
System.out.println(t2-t1);
Die Ausführung dauert auf "normalen" Windows Rechnern im Schnitt 60ms. Auf dem Server ca. 10ms. Soweit also alles in Ordnung.
Fall 2:
Java:
long t1 = System.currentTimeMillis();
for (int i=0;i<20000;i++) {
Model model = new Model();
model.setValue1("test" + i);
model.setValue2("test" + i);
model.setValue3("test" + i);
model.setValue4("test" + i);
model.setValue5("test" + i);
model.setValue6("test" + i);
model.setValue7("test" + i);
model.setValue8("test" + i);
model.setValue9("test" + i);
model.setValue10("test" + i);
model.setValue11("test" + i);
model.setValue12("test" + i);
model.setValue13("test" + i);
model.setValue14("test" + i);
model.setValue15("test" + i);
model.setValue16("test" + i);
model.setValue17("test" + i);
model.setValue18("test" + i);
model.setValue19("test" + i);
model.setValue20("test" + i);
}
long t2 = System.currentTimeMillis();
System.out.println(t2-t1);
Model ist ein POJO, das lediglich 20 Properties und die entsprechenden Getter und Setter hat. Hierbei ist die Zeit der Ausführung nicht nachvollziehbar. Auf den meisten Rechnern ist die Ausführung in ca. 130ms durch. Auf dem Server dauert es mit der 32bit JRE 300ms und mit der 64bit JRE 600ms.
Kann sich von euch jemand erklären warum sich der 1. und der 2. Fall so deutlich unterscheiden? Also warum die Ausführung auf deutlich schwächeren Rechnern doch um ein vielfaches Schneller ist.
Zuletzt bearbeitet: