Pomiar różnic czasu za pomocą System.currentTimeMillis ()

Mam prosty program java i chcę znać różnicę czasu między jakimś zestawem operacji. W tym pytaniu szczegóły nie są ważne, ale weźmy następujący scenariusz.

long beginTime = System.currentTimeMillis();

//Some operations. Let us asssume some database operations etc. which are time consuming.

//

long endTime = System.currentTimeMillis();

long difference = endTime - beginTime;

Kiedy kod jest uruchamiany na maszynie, jak niezawodna będzie różnica?

Powiedzmy, że procesor zaczyna wykonywać niektóre instrukcje z mojego kodu, następnie nadaje kontekst innemu procesowi, który wykonuje się przez pewien czas, a następnie powraca, aby wykonać instrukcje związane z tym procesem java.

Różnica czasu powinna więc zależeć od aktualnego stanu mojego komputera, tj. Od liczby uruchomionych procesów itp.? Czy w związku z czasem profilowania niektóre operacje są uruchamiane, czy ten mechanizm nie jest wiarygodny?

questionAnswers(2)

yourAnswerToTheQuestion