Leerzeilen verbrauchen Zeit!

coder2010

Neues Mitglied
Hallo,
es gut um ein umfangreiches Rechenprojekt. Es schluckt sehr viel Performance und dauert daher sehr lange.
Meine Idee: Ich prüfe wie viele Millisekunden die verschienen Methoden benötigen:

Java:
long time = System.currentTimeMillis();
// zu messender Code hier
statischeZählervariable += System.currentTimeMillis() - time;

So habe ich mich Methode für Methode durchgearbeitet und dann festgestellt, dass der Großteil der Performance letztenendes in Leerzeilen (!) und ein wenig in einer Vektoriteration verloren geht.

Java:
long time2 = System.currentTimeMillis();
statischeVariable2 += System.currentTimeMillis() - time2;
// autsch, wie kann so etwas nur Zeit verbrauchen?!


long time3 = System.currentTimeMillis();
for (int i = 0; i < fields.size(); i++) {
        if (einVektor.elementAt(i) == null) continue;
	if (einVEktor.elementAt(i).getColumn() == column && einVektor.elementAt(i).getRow() == row) {
                statischeVariable2 += System.currentTimeMillis() - time2;
		return einVektor.elementAt(i);
	}
}
statischeVariable2 += System.currentTimeMillis() - time2;
return null;

Wie kann es sein, dass hier wirklich viel Zeit verloren geht? Es wird nicht mal sehr viel Code in kurzer Zeit ausgeführt. Wie kann ich sowas beheben?

Viele Grüße
 

eRaaaa

Top Contributor
Also ich habs zwar noch nicht ganz verstanden, aber du initialisierst vor der Schleife eine neue Zeit time3, soweit verständlich, aber du benutzt diese Zeit ja gar nicht, sondern immer time2 ?! Soll das so? Ich meine, dann misst du ja nicht wirklich die Zeit, die die Iteration verbraucht?!

Java:
long time2 = System.currentTimeMillis();
statischeVariable2 += System.currentTimeMillis() - time2;
// autsch, wie kann so etwas nur Zeit verbrauchen?!
?? Ist bei mir immer 0 :D (welchen Wert hat den statischeVariable2 ? Ich meine du addierst ja den Wert auf irgendwas. Wenn da vorher irgendwas/wer den Wert geändert hat, ist klar dass da dann was völlig anderes als erwartet raus kommt)

==>
Java:
	long time2 = System.currentTimeMillis();
	System.out.println(System.currentTimeMillis() - time2);

Testen mit statischen Variablen ist ja sowieso immer so ne Sache... :D
 

Final_Striker

Top Contributor
ich denke, das sollte etwas schneller sein.

Java:
for (int i = 0; i < fields.size(); i++) {

        Element e = elementAt(i);

	if (e != null && e.getColumn() == column && e.getRow() == row) {
    
		return e;
	}
}

return null;

ansonsten solltest du dir vllt überlegen eine andere datenstruktur zu wählen und effizienter suchen zu können.
 

Landei

Top Contributor
Vector lässt sich sowieso mit ArrayList austauschen, wenn er nicht threadsafe sein muss, das sollte schon etwas mehr Speed bringen. Natürlich muss man dan mit den List-Interface-Methoden arbeiten (get statt elementAt u.s.w). Grundsätzlich ist Vector veraltet, und es gibt für jede denkbare Situation einen besseren Ersatz.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Erkennen welche Objekte den Heap verbrauchen? Allgemeine Java-Themen 2
H Objekte verbrauchen immer mindestens 16 Bytes Allgemeine Java-Themen 3
F Zeit Optimierung - bzw. ms Optimierung Allgemeine Java-Themen 35
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
K CET-Zeit benutzen Allgemeine Java-Themen 6
K Geschätze Zeit implementieren Allgemeine Java-Themen 14
Blender3D AWT Fehlerhafte Zeit bei Calender und Date DateFormat Allgemeine Java-Themen 8
2 Joda Time - Localtime mit anderer Zeit vergleichen? Allgemeine Java-Themen 1
O Java Hardware Software Zeit Allgemeine Java-Themen 7
H Bestimmte Aufgaben zur bestimmter Zeit/ in bestimmten Intervallen Allgemeine Java-Themen 3
F Zeit ermitteln Allgemeine Java-Themen 2
Q Zeit in GUI selbst aktualisieren Allgemeine Java-Themen 5
D Klassen Zeit aus NMEA-Stream in SimpleDateFormat Allgemeine Java-Themen 17
M AudioClip in Spiel mehrfach in kurzer Zeit abspielen Allgemeine Java-Themen 3
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
R Raum und Zeit Allgemeine Java-Themen 11
S Zeit Allgemeine Java-Themen 4
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
T Methodenparameter zur Compile-Zeit überprüfen Allgemeine Java-Themen 8
J Lizenz auf Zeit Allgemeine Java-Themen 8
X Codeabarbeitung innerhalb des Hauptprogramms für bestimmte Zeit unterbrechen Allgemeine Java-Themen 2
prakdi Zeit zum Durchlauf der Schleifen unverständlich!? Allgemeine Java-Themen 3
A JavaVM Zeit Windows 7 Allgemeine Java-Themen 9
T Zeit von einem Server/Webseite auslesen und in eigener GUI anzeigen Allgemeine Java-Themen 6
J Datum und Zeit Allgemeine Java-Themen 4
data89 Zeit-Diagramm erstellen Allgemeine Java-Themen 11
G JComboBox getSelectedItem Zeit Allgemeine Java-Themen 5
Kr0e Sekunden -> Zeit Allgemeine Java-Themen 14
T Mit Datum und Zeit rechnen Allgemeine Java-Themen 8
B System CPU Zeit / Last auslesen Allgemeine Java-Themen 2
J zeit überscheidungen ermitteln Allgemeine Java-Themen 6
P Thread Demonstrationr eist durch die Zeit Allgemeine Java-Themen 4
A Compilierdatum/Zeit in Code eingenerieren Allgemeine Java-Themen 13
Kidao Wie ordne ich die aktuelle Zeit in einer Zeitreihe eine? Allgemeine Java-Themen 6
J zeit stoppen Allgemeine Java-Themen 11
M Zeit eines rechners im netzwerk ermitteln Allgemeine Java-Themen 6
B Aktuelle Zeit im Format YYYY-MM-DD HH-MM-SS in Logfile schre Allgemeine Java-Themen 8
C Umrechnung der Zeit Allgemeine Java-Themen 8
B 2 JList instanzen wo nur einer zur selben Zeit selektierbar? Allgemeine Java-Themen 8
I Thread eine bestimmte Zeit zur Ausführung geben Allgemeine Java-Themen 2
P Zeit messen Allgemeine Java-Themen 16
M Zeit läuft rückwärts Allgemeine Java-Themen 3
K Thread Safe Zeit Messung Allgemeine Java-Themen 2
D Programmunterbrechung für eine bestimmte Zeit (Millisikunden Allgemeine Java-Themen 10
K ServerSocket benötigt unmengen an Zeit Allgemeine Java-Themen 7
D Zeit messen Allgemeine Java-Themen 2
G try auf zeit Allgemeine Java-Themen 8
R Garbage Collector rennt die ganze Zeit Allgemeine Java-Themen 7
M Fortschritt: verbleibende Zeit errechen. Allgemeine Java-Themen 2
F Zeit errechnen mit GregorianCalendar Allgemeine Java-Themen 8
F vergangene Zeit berechnen Allgemeine Java-Themen 6
A Unix Zeit Allgemeine Java-Themen 2
D Datum und Zeit - Date, Calendar oder GregorianCalender ? Allgemeine Java-Themen 13
X Parameter bei Start über Batch-Datei übergeben(Tag und Zeit) Allgemeine Java-Themen 3
C Vergangene Zeit seit Anwendungsstart messen Allgemeine Java-Themen 5
T Zeit aufaddieren Allgemeine Java-Themen 3
T zeit in java Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben