РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
746 of 1163 menu

Метод nanoTime

Метод nanoTime класса System возвращает текущее значение наиболее точного доступного системного таймера в наносекундах. Метод не принимает параметров. Возвращаемое значение имеет тип long. Важно понимать, что значение не является абсолютным временем - оно может быть отрицательным и не имеет смысла само по себе. Использовать его нужно только для измерения разницы между двумя вызовами метода, например, для замера времени выполнения кода.

Синтаксис

System.nanoTime()

Пример

Давайте замерим время выполнения простого цикла и выведем результат в наносекундах:

public class Main { public static void main(String[] args) { long start = System.nanoTime(); int sum = 0; for (int i = 0; i < 1000000; i++) { sum += i; } long end = System.nanoTime(); long res = end - start; System.out.println("Sum: " + sum); System.out.println("Elapsed: " + res + " ns"); } }

Результат выполнения кода:

"Sum: 1784293664" "Elapsed: 3521500 ns"

Пример

Давайте переведем наносекунды в миллисекунды, разделив результат на 1_000_000:

public class Main { public static void main(String[] args) { long start = System.nanoTime(); String str = "abcde"; for (int i = 0; i < 10000; i++) { str.concat("12345"); } long end = System.nanoTime(); long res = (end - start) / 1_000_000; System.out.println("Elapsed: " + res + " ms"); } }

Результат выполнения кода:

"Elapsed: 12 ms"

Смотрите также

  • метод currentTimeMillis,
    который возвращает текущее время в миллисекундах
  • класс System,
    который предоставляет системные методы
  • метод println,
    который выводит данные на консоль
  • метод lineSeparator,
    который возвращает разделитель строк
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить