Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

[Java] Duur uitvoer methode

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben op zoek naar een manier om te bepalen/berekenen hoe lang de computer er over doet (real time) om een methode uit te voeren. Ik heb geen idee hoe dit moet. Zou iemand mij een zetje in de goede richting willen geven?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 14:26

Creepy

Tactical Espionage Splatterer

Eeh... jouw google is stuk?
Je kan prima bij de start van de methode de tijd in een variabele opslaan en dat aan het einde van de methode ook doen. Trek de twee tijden van elkaar af en je weet hoe lang iets duurt. En anders kan je kijken naar een profiler o.i.d.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

Voordat je de methode aanroept, de huidige tijd opslaan. Wanneer de methode klaar, wederom de huidige tijd opvragen. Deze dan van elkaar aftrekken en je bent er?

  • Marcj
  • Registratie: November 2000
  • Laatst online: 14:14
Je kunt System.nanoTime() gebruiken om de huidige tijd te bepalen. Als je dit op twee tijdstippen doet en het verschil berekent, weet je hoeveel nanoseconden dat geduurt heeft. Delen door een miljard om hiervan seconden te maken.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15-11 11:40

Janoz

Moderator Devschuur®

!litemod

System.currentTimeMillis is je vriend.

-edit- .. Maar die van mijn bovenbuurman werkt vast beter :D..

[ Voor 20% gewijzigd door Janoz op 07-09-2008 17:31 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Bedankt voor de snelle reacties. Het moet lukken zo.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 19:52

Gerco

Professional Newbie

Als je het iets beter wilt kunnen zien (al heb je dan weinig aan de echte tijd, maar alleen de vehoudingen tussen methods) kun je visualvm gebruiken. Sinds Java 1.6.0 zit het standaard bij de JDK, je kan het vinden in bin\jvisuallvm.exe

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 16-11 12:56

Robtimus

me Robtimus no like you

Janoz schreef op zondag 07 september 2008 @ 17:30:
System.currentTimeMillis is je vriend.

-edit- .. Maar die van mijn bovenbuurman werkt vast beter :D..
currentTimeMillis was inderdaad je vriend - als je call maar niet te kort duurde. Verschillen van 0-10 (of was het nou 0-20?) werden vaak niet opgemerkt, en als identiek moment in tijd aangeduidt.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Marcj
  • Registratie: November 2000
  • Laatst online: 14:14
IceManX schreef op zondag 07 september 2008 @ 20:24:
[...]

currentTimeMillis was inderdaad je vriend - als je call maar niet te kort duurde. Verschillen van 0-10 (of was het nou 0-20?) werden vaak niet opgemerkt, en als identiek moment in tijd aangeduidt.
Onder Windows heb je vaak stappen van 16ms. Met nanoTime() wordt een preciezere timer gebruikt, al weet ik niet helemaal zeken in hoeverre die nauwkeurig is.
Pagina: 1