Zeit stoppen

Status
Nicht offen für weitere Antworten.

flyingthai

Mitglied
Hallo!

Ich möchte gerne messen wie lange ein Sortieralgorithmus braucht, um eine Menge von Zahlen zu sortieren.

Dafür habe ich System.currentTimeMillis() verwendet.

Ich habe zwei Variablen t1 und t2 vom typ long und zeit vom vom typ int deklariert.

Hier der Code-Auschnitt:

Code:
t1 = System.currentTimeMillis();
Sortierer1 sort1 = new Sortierer1();  // Algorthmus befindet sich in einer separaten Klasse
sort1.sortiere(z);
t2 = System.currentTimeMillis();
zeit = (int) (t2-t1);

Habe ihn jetzt mal 240000 Zahlen sortieren lassen. Dafür braucht er wohl 46 Sekunden.

Meine Frage ist erstens, ob die Zeitmessung richtig ist und zweitens, ob die Messgenauigkeit verbessert werden kann.
Also, dass er die Zeit in Sekunden und Millisekunden angibt. Kann mir da jemand auf die Schnelle weiterhelfen? :D
 
S

SlaterB

Gast
Messung ist richtig, soweit man bei so grobem Gebastel von richtig und falsch sprechen kann,

Formatierung:
entweder manuell (durch 60 teilen = Minuten usw)
oder ein Date erstellen und SimpleDateFormat nutzen,
nur im Bereich < 24 Stunden zu empfehlen
 

flyingthai

Mitglied
Opps habe mich bezüglich Messgenauigkeit falsch ausgedrückt. Ist es möglich, dass die Zeit mikrosekundengenau gemessen wird?

Die Formatierung ändert ja am Ergebnis nichts.

60sec wären dann 3600msec

Mich würde aber interessieren, ob 60sec nicht vll 61,34sec sind. :bae:


Aber wenn die Implementierung schon so richtig ist, dann bin ich vollkommen zufrieden. :wink:
 
S

SlaterB

Gast
60sec sind 3600msec? naja ;)


es gibt noch System.nanoTime()
aber generell kann man behaupten, dass die Systemzeit eh nicht so supergenau ist,
außerdem werden Threads unterbrochen, durch andere Aufgaben der Java VM sowie des Betriebssystems,
+- 30ms sollte man immer rechnen,
aber ganze Sekunden kann man damit gut timen

> Mich würde aber interessieren, ob 60sec nicht vll 61,34sec sind.

millisekundengenau hast du es doch:
60,000 Sekunden ist sicher,

es geht dir ja nur noch um weitere Microsekunden?
 

flyingthai

Mitglied
Hoppla, da habe ich mich etwas vertan. :lol:

1 Sekunde = 1 000 Millisekuden = 1 000 000 Mikrosekunden


Ich glaube ich belasse es einfach bei Sekunden. Die paar Millisekunden machen die Sortieralgorithmen auch nicht schneller. :wink:
 

byte

Top Contributor
Für die Umrechnungsfaulen gibts seit 1.5 die Enum TimeUnit, die alles weitere regelt. Wenn Du also Microsekunden brauchst, dann machst Du einfach:

Code:
long t0 = System.nanoTime();
...
long t1 = System.nanoTime();
long micros = TimeUnit.NANOSECONDS.toMicros( t0 - t1 );
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Zeit stoppen in mehreren Threads Java Basics - Anfänger-Themen 2
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
S Wie Rechne ich die Zeit in ...L um? Java Basics - Anfänger-Themen 15
I Zahl aufrunden (Zeit) Java Basics - Anfänger-Themen 43
H Primzahlen finden - Zeit optimieren Java Basics - Anfänger-Themen 34
B Prüfen, ob Zeit Überschreitung Java Basics - Anfänger-Themen 2
I Nächstmögliche Zeit erhalten Java Basics - Anfänger-Themen 11
hello_autumn Zeit messen von ausgeführten Tools. Java Basics - Anfänger-Themen 1
B Nächster möglicher Tag bekommen / Nächste mögliche Zeit bekommen Java Basics - Anfänger-Themen 24
Y Warum aktualisiert die Zeit nicht? Java Basics - Anfänger-Themen 4
J Aktuelle Zeit in einer JavaFX Anwendung aktualisieren lassen Java Basics - Anfänger-Themen 4
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
F actionPerformed() zur richtigen Zeit Java Basics - Anfänger-Themen 6
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3
F Zeit in Milli bis Mitternacht Java Basics - Anfänger-Themen 20
M Messandwendung nach Zeit und eigener Eingabe Java Basics - Anfänger-Themen 4
J Java Datum- Zeit Differenz bilden! Java Basics - Anfänger-Themen 4
N Server Zeit zur lokalen Zeit setzen. Java Basics - Anfänger-Themen 0
K Eine bestimmte Zeit, eine Schleife laufen lassen. Java Basics - Anfänger-Themen 4
N Zeit berechnen, die für eine Strecke benötigt wird Java Basics - Anfänger-Themen 3
S Threads Zu bestimmer Zeit Screenshot erstellen. Java Basics - Anfänger-Themen 2
M Zahlen verändern nach Zeit Java Basics - Anfänger-Themen 6
E Zeit zum bestimmten Datum in millisekunden berechnen Java Basics - Anfänger-Themen 5
H Methoden Stopwatch misst Zeit einer Methode nicht Java Basics - Anfänger-Themen 8
K Zeit auslesen von Timeserver einen Tag daneben Java Basics - Anfänger-Themen 11
S Zeit messe? Java Basics - Anfänger-Themen 8
L Zeit sekündlich aktualisieren Java Basics - Anfänger-Themen 7
S Zeit bestimmen Java Basics - Anfänger-Themen 4
E Algorithmen und Programmierung - Datum und Zeit ausgeben? Java Basics - Anfänger-Themen 8
J Aufgabe: Zeit in Sekunden Java Basics - Anfänger-Themen 9
F Einfache Klassen für Datum und Zeit Java Basics - Anfänger-Themen 3
K Zeit ablaufen lassen und nach Ablauf beenden Java Basics - Anfänger-Themen 5
M Zeit von microsekunden auf Format mm:ss Java Basics - Anfänger-Themen 13
G Methoden Zeit Umrechnungsfaktor Java Basics - Anfänger-Themen 2
M Reaktion auf bestimmte Zeit Java Basics - Anfänger-Themen 2
S Animation nach bestimmter Zeit ausführen Java Basics - Anfänger-Themen 3
F hat jmd Zeit mir bisschen zu helfen msn/skype Java Basics - Anfänger-Themen 10
R Kalender speichert keine Zeit Java Basics - Anfänger-Themen 2
F Zeit per Array "zurückdrehen" Java Basics - Anfänger-Themen 5
R Zeit kommt mir zu lange vor... Java Basics - Anfänger-Themen 7
C Ereignis nach einer gewissen Zeit Java Basics - Anfänger-Themen 10
C Falsche Zeit Java Basics - Anfänger-Themen 2
A Unix-Zeit verkürzen Java Basics - Anfänger-Themen 2
Z JScrollPane zeigt Zeit als Datum Java Basics - Anfänger-Themen 5
H Programm zu bestimmten Zeit ausführen Java Basics - Anfänger-Themen 3
R Stoppuhr: Zeit ermitteln und übergeben - Variable static?? Java Basics - Anfänger-Themen 6
G Umrechnung Zeit/Temperatur Java Basics - Anfänger-Themen 6
Luk10 Zeit-Aspekt in Java Java Basics - Anfänger-Themen 3
N zeit ausgeben Java Basics - Anfänger-Themen 5
C countdown/timer/Zeit warten lassen Java Basics - Anfänger-Themen 14
S Dynamisch Zeit auslesen Java Basics - Anfänger-Themen 11
X Fibonacci mit durchschnittlicher Zeit Java Basics - Anfänger-Themen 5
S Kennt jemand die Default-Cache Zeit beim Java-Plugin? Java Basics - Anfänger-Themen 2
M Zeitdauer-Klasse (zeit in java) Java Basics - Anfänger-Themen 9
1 Zeit und Datum der Letzten Bearbeitung einer Datei auslesen Java Basics - Anfänger-Themen 3
B JFrame nur eine gewisse Zeit anzeigen Java Basics - Anfänger-Themen 3
R Zeit eingeben über Formular Java Basics - Anfänger-Themen 3
D Kann man die Bios Zeit auslesen? Java Basics - Anfänger-Themen 5
G Zeit-Funktion Java Basics - Anfänger-Themen 4
D Zeit Problem! Java Basics - Anfänger-Themen 8
M Zeit zurückgeben je sekunde Java Basics - Anfänger-Themen 8
C Zeitberechnungen wieviel Zeit vergangen ist. Java Basics - Anfänger-Themen 4
J System Zeit Java Basics - Anfänger-Themen 3
D Zeit messen Java Basics - Anfänger-Themen 7
M Faktor Zeit in Java! Gibt es sowas? Java Basics - Anfänger-Themen 6
H Reaktion nach gewisser Zeit Java Basics - Anfänger-Themen 20
S Zeit berechnen Java Basics - Anfänger-Themen 6
C Zeit horchen! Java Basics - Anfänger-Themen 3
G Programm soll nach bestimmter Zeit etwas tun Java Basics - Anfänger-Themen 24
P Zeit - Thread bei Simulationen Java Basics - Anfänger-Themen 4
H TicTacToe: Zeit zwischen Zügen lassen Java Basics - Anfänger-Themen 9
C Zeit Schleife Java Basics - Anfänger-Themen 5
S Zeit messen! Java Basics - Anfänger-Themen 12
S CPU Zeit Java Basics - Anfänger-Themen 8
P Aktuelles Datum/Zeit in GMT? Java Basics - Anfänger-Themen 2
E Zeit runterlaufen lassen Java Basics - Anfänger-Themen 2
G Zeit auslesen in bestimmtem Format Java Basics - Anfänger-Themen 2
D String in Zeit umwandeln? Java Basics - Anfänger-Themen 3
G zeit subtrahieren Java Basics - Anfänger-Themen 6
E Nach einer gewissen Zeit wiederholen Java Basics - Anfänger-Themen 13
TRunKX Probleme mit der Zeit (Stunden Sekunden) Java Basics - Anfänger-Themen 7
W Zeit Variablen? Java Basics - Anfänger-Themen 6
S GregorianCalendar - Vergangene Zeit Java Basics - Anfänger-Themen 17
G Auf eine Uhrzeit xx Minuten addieren u. mit Akt. Zeit vergl. Java Basics - Anfänger-Themen 5
G Zeit im 24 Stundenrhythmus Java Basics - Anfänger-Themen 3
G Methode nach bestimmter Zeit aufrufen Java Basics - Anfänger-Themen 3
H GregorianCalendar Zeit abziehen (Countup) Java Basics - Anfänger-Themen 9
C SwingWorker stoppen Java Basics - Anfänger-Themen 7
J Erste Schritte Unendlichen Loop stoppen Java Basics - Anfänger-Themen 2
C NumberFormatException: null ohne Ausnahmebehandlung stoppen Java Basics - Anfänger-Themen 7
B Thread / Prozess stoppen? Java Basics - Anfänger-Themen 22
B Schleife von anderer Methode stoppen? (Start continue) Java Basics - Anfänger-Themen 18
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
B Gleicher Prozess starten und stoppen (Problem beim Stoppen) Java Basics - Anfänger-Themen 5
B MySQL starten / stoppen -> Stoppen erzeugt neuen Prozess Java Basics - Anfänger-Themen 0
B @Schedule stoppen Java Basics - Anfänger-Themen 0
M bufferedreader loop stoppen Java Basics - Anfänger-Themen 2
S clip.loop(Clip.LOOP_CONTINUOUSLY); stoppen klappt nicht! Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben