Sida 1 av 1

Mätning av tid i java [LÖST]

Postat: 14 dec 2007, 14:07
av jansson
Tjena.
Jag kom på att jag ville skapa en klass -Timer- med typ 2 metoder, en för att starta- och en för att stoppa tiden. Eller en timer. Så man kan testa hur lång tid det tar att utföra en annan metod eller loop lr nått.

Så jag skapade en klass med respektive motoder och en innre klass -Ticker-  som ärver av thred.

Det den gör är att ticka framm en double-variabel ett steg och sova i 10 millesekunder. Och då var min tanke att den kommer stämma med antalet hundradelar som paserat under den tid som förflutit. Men så kom jag på att det är ju inte alls säkert att den kommer stämma.

Någon som vet om det finns någon klass i java som kan lösa detta åt mig. Hittade inte på något i api-dokumentationen.

Eller ett bättre förslag på implementation.

SV: Mätning av tid i java

Postat: 14 dec 2007, 14:17
av mcNisse
Det borde bara vara att lagra en timestamp (java.sql Date eller Timestamp)  när man startar och en annan när man slutar.

SV: Mätning av tid i java

Postat: 14 dec 2007, 15:24
av gasol

Kod: Markera allt

long t1, t2,diff;

t1 = System.currentTimeMillis();

//nånting nånting


t2 = System.currentTimeMillis();

// antalet millisekunder mellan t1 och t2.
diff = t2 - t1;

Annars kan du använda  System.nanoTime() om du behöver mer noggranhet. Dock så finns nanoTime bara i java 1.5 och högre.

SV: Mätning av tid i java

Postat: 14 dec 2007, 15:25
av gasol

SV: Mätning av tid i java

Postat: 15 dec 2007, 22:38
av jansson
OK, tack så mycket. Det lösta problemet.