В этом примере мы научимся вычислять время выполнения обычных и рекурсивных методов в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Методы Java
- Рекурсия Java
Пример 1: Программа на Java для расчета времени выполнения метода
class Main ( // create a method public void display() ( System.out.println(«Calculating Method execution time:»); ) // main method public static void main(String() args) ( // create an object of the Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.display(); // get the end time long end = System.nanoTime(); // execution time long execution = end — start; System.out.println(«Execution time: » + execution + » nanoseconds»); ) )
Вывод
Время выполнения метода расчета: Время выполнения: 656100 наносекунд
В приведенном выше примере мы создали метод с именем display() . Метод выводит инструкцию на консоль. Программа рассчитывает время выполнения метода display() .
Как измерить время выполнения кода | Изучение С++ для начинающих. Урок #145
Здесь мы использовали метод nanoTime() в System классе. nanoTime() Метод возвращает текущее значение запущенной JVM в наносекунд.
Пример 2: вычислить время выполнения рекурсивного метода
class Main ( // create a recursive method public int factorial( int n ) ( if (n != 0) // termination condition return n * factorial(n-1); // recursive call else return 1; ) // main method public static void main(String() args) ( // create object of Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.factorial(128); // get the end time long end = System.nanoTime(); // execution time in seconds long execution = (end — start); System.out.println(«Execution time of Recursive Method is»); System.out.println(execution + » nanoseconds»); ) )
Вывод
Время выполнения рекурсивного метода 18600 наносекунд.
В приведенном выше примере мы вычисляем время выполнения рекурсивного метода с именем factorial() .
Источник: ru.wiki-base.com
Русские Блоги
Внезапно я захотел точно проверить время выполнения Java-кода и некоторое время искал в Интернете. Установлено, что существуют в основном следующие два метода. Но я не знаю, является ли это лучшим. О, я надеюсь, что каждый может дать указатели. 🙂
Первый рассчитывается в миллисекундах.
// псевдокод
long startTime = System.currentTimeMillis (); // Получить время начала
doSomeThing (); // Фрагмент теста
long endTime = System.currentTimeMillis (); // Получить время окончания
System.out.println («Время выполнения программы: + (конец-начало) +« мс »);
Вторая рассчитывается в наносекундах.
// псевдокод
long startTime = System.nanoTime (); // Получить время начала
Ответы на вопросы 3: Замер времени исполнения программы.
doSomeThing (); // Фрагмент теста
long endTime = System.nanoTime (); // Получить время окончания
System.out.println («Время выполнения программы: + (конец-начало) +« нс »);
Внезапно вспомнил, что Junit4 также может проверить время выполнения, ха-ха.
Интеллектуальная рекомендация
Pytorch Multi -GPU Training Finger North
https://www.jianshu.com/p/bb28669018b3 Предисловие В возрасте все большего и большего количества данных, с увеличением параметров масштаба моделей и постоянного улучшения объема данных, неизбежно испо.
Сцена контекста Spring после инициализации
Недавно я столкнулся с проблемой. После расширения весеннего веб -потока нам необходимо выполнить некоторые начальные методы реализации инициализации для наших собственных бобов после инициализации ко.
Jq ajax одновременно отправлять форму и загрузить файл
Сетевое программирование на Java
TCP/IP Подробнее о TCP / IP Данные, передаваемые по TCP Интерактивный поток данных TCP Поток данных блока TCP TCP Demo UDP URL Для сетевого программирования слишком много вещей, подробнее добавлю в бу.
Пример использования DolphinDB: импорт текстовых файлов в базу данных
Эта статья вернаОфициальный учебникПовторение проблемы записывается с точки зрения новичков на пути к достижению цели. Получить USstocks.csv использованиеИсследовательский центр акций Чикагского униве.
Вам также может понравиться
Мышь OpenCasecade перемещается с высоким ярким цветом и выбранными настройками цвета
OpenCaseCade будет выделен при переходе от мыши к патчу. Когда выбрана диаграмма, будут изменения. Как изменить высокие яркие цвета и цвет при выборе? Эта проблема заключалась в том, что раньше сталки.
008 Строка строки в целое число (ATOI) конвертируется в Integer
Для получения подробной информации: https://leetcode.com/prblems/string-iteger-etoi/descripting/ Реализация языка: java Реализовать язык: C ++ Ссылка: http://www.cnblogs.com/grandyang/p/4125537.html П.
Установите TensorFlow под Windows
Я уже много раз пытался установить TensorFlow, но даже если он установлен, при запуске тестовой программы всегда будут появляться различные ошибки.После решения одной ошибки появится больше. Среди них.
В запуске файла JSP нет ошибок. Он заменяется файлом Java и работает, но появляется на JavaScript от Bootstrap, требуется jQuery по адресу bootstrap.js: 8
Вывод клиента консоли: Код: JavaScript от Bootstrap требует jQuery по адресу bootstrap.min.js: 6 обычно имеет проблему с порядком Bootstrap. Сначала вы должны процитировать файл jquery.min.js, а затем.
Я попробую изучить Python
Я попробую изучить Python Я смотрел Python почти месяц и все знал, когда смотрел его. Однако выключать видео — это глупо, и я ничего не знаю. С этого момента я должен писать программу во время просмот.
Источник: russianblogs.com
Как рассчитать прошедшее / исполненное время в Java
В Java вы можете использовать следующие способы измерения прошедшего времени в Java.
1. System.nanoTime ()
Это рекомендуемое решение для измерения прошедшего времени в Java.
package com.csharpcoderr.time; import java.util.concurrent.TimeUnit; public class ExecutionTime1 < public static void main(String[] args) throws InterruptedException < //Начните long lStartTime = System.nanoTime(); // задача calculation(); //конец long lEndTime = System.nanoTime(); //время истекло; истекшее время long output = lEndTime — lStartTime; System.out.println(«Elapsed time in milliseconds: » + output / 1000000); >private static void calculation() throws InterruptedException < // Спим 2 секунды TimeUnit.SECONDS.sleep(2); >>
Выход может отличаться.
2004
2. System.currentTimeMillis ()
package com.csharpcoderr.time; import java.util.concurrent.TimeUnit; public class ExecutionTime2 < public static void main(String[] args) throws InterruptedException < long lStartTime = System.currentTimeMillis(); calculation(); long lEndTime = System.currentTimeMillis(); long output = lEndTime — lStartTime; System.out.println(«Elapsed time in milliseconds: » + output); >private static void calculation() throws InterruptedException < // Спим 2 секунды TimeUnit.SECONDS.sleep(2); >>
Выход может отличаться.
2006
3. Instant.now (). ToEpochMilli ()
В Java 8 вы можете попробовать новый java.time.Instant
package com.csharpcoderr.time; import java.time.Instant; import java.util.concurrent.TimeUnit; public class ExecutionTime3 < public static void main(String[] args) throws InterruptedException < long lStartTime = Instant.now().toEpochMilli(); calculation(); long lEndTime = Instant.now().toEpochMilli(); long output = lEndTime — lStartTime; System.out.println(«Elapsed time in milliseconds: » + output); >private static void calculation() throws InterruptedException < // Спим 2 секунды TimeUnit.SECONDS.sleep(2); >>
Выход может отличаться.
2006
4. Date (). GetTime ()
package com.csharpcoderr.time; import java.util.Date; import java.util.concurrent.TimeUnit; public class ExecutionTime4 < public static void main(String[] args) throws InterruptedException < long lStartTime = new Date().getTime(); calculation(); long lEndTime = new Date().getTime(); long output = lEndTime — lStartTime; System.out.println(«Elapsed time in milliseconds: » + output); >private static void calculation() throws InterruptedException < // Спим 2 секунды TimeUnit.SECONDS.sleep(2); >>
Выход может отличаться.
2007
Рекомендации
- Stackoverflow — Является ли System.nanoTime () полностью бесполезным?
- Переполнение стека — System.currentTimeMillis против System.nanoTime
- Система # nanoTime JavaDoc
- Instant # toEpochMilli JavaDoc
Источник: csharpcoderr.com