Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как посмотреть время выполнения метода 
:(
    Опции темы
Adept
Дата 8.12.2004, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Как посмотреть время выполнения одного метода в классе?
PM MAIL   Вверх
Domestic Cat
Дата 8.12.2004, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Код

long t1 = System.currentTimeMillis();
myMethod();
long t2 = System.currentTimeMillis();
System.out.println((t2-t1) + " milliseconds");


Это сообщение отредактировал(а) Domestic Cat - 8.12.2004, 16:38


--------------------

PM   Вверх
Oracle
Дата 8.12.2004, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 26.11.2004

Репутация: нет
Всего: 3



Вряд ли прокатит...и в таком примере не только время выполнения будет смотреться, а также еще и время вызова самого метода...обычно методы (маленькие) выполняются довольно быстро, поэтому и не сможешь углядеть, хотя могу ошибаться...Скорее всего нужно профилировщиком(на русском так это звучит? profiler - англ)
PM MAIL   Вверх
Domestic Cat
Дата 8.12.2004, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Время вызовa mетода настолько malo, что оно ни на что не повлияет. Данный вариант будет мерять время если оно > 1мс на MacOS или Linux, для винды - зависит от версии.


--------------------

PM   Вверх
Oracle
Дата 8.12.2004, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 26.11.2004

Репутация: нет
Всего: 3



Domestic Cat
Да, но не лучше ли профилировщиком?Можно будет сравнивать с временем выполнения других методов, и все будет в графическом виде..
PM MAIL   Вверх
Domestic Cat
Дата 9.12.2004, 03:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Да зачем? Для супер точного измерения профайлер может и нужен, но в большинстве случаев плюс минус 1 мс роли не сыграет. Если нужно с точностью до наносекунд, то есть System.nanoTime().

Это сообщение отредактировал(а) Domestic Cat - 9.12.2004, 06:49


--------------------

PM   Вверх
Adept
Дата 9.12.2004, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



А как вообще узнать где у программы узкие места?
Т.е. я хочу оптимизировать программу, как это правильно делается smile
PM MAIL   Вверх
Domestic Cat
Дата 9.12.2004, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172





--------------------

PM   Вверх
Oracle
Дата 9.12.2004, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 26.11.2004

Репутация: нет
Всего: 3



Время выполнение методом ему нужно было для нахождение hot spot и оптимизации, поэтому я сразу советовал(да и советую) профилировщик.
PM MAIL   Вверх
Domestic Cat
Дата 9.12.2004, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(Oracle @ 9.12.2004, 08:04)
Время выполнение методом ему нужно было для нахождение hot spot и оптимизации, поэтому я сразу советовал(да и советую) профилировщик.


Вполне возможно, но стоит подождать мнения автора топика smile
Ну а вообще есть стандартный профайлер, запускаемый флагом -Xprof :

Код

java -Xprof myClass



--------------------

PM   Вверх
Oracle
Дата 9.12.2004, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 26.11.2004

Репутация: нет
Всего: 3



Domestic Cat
Ужасно неудобная вещь(имхо), профилировщик с графическом интерфейсом все намного "интереснее".
P.S Ты 20 часов в сутки Онлайн? smile

Это сообщение отредактировал(а) Oracle - 9.12.2004, 23:44
PM MAIL   Вверх
Domestic Cat
Дата 10.12.2004, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(Oracle @ 9.12.2004, 13:39)
Ужасно неудобная вещь(имхо), профилировщик с графическом интерфейсом все намного "интереснее".


Суть-то та же
Цитата(Oracle @ 9.12.2004, 13:39)
P.S Ты 20 часов в сутки Онлайн? smile


С перерывами smile


--------------------

PM   Вверх
Adept
Дата 10.12.2004, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Oracle
а что это за профилировщик и где его взять?
PM MAIL   Вверх
Adept
Дата 10.12.2004, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Да, мне это надобыло для оптимизации.
Попробывал я запустить прогу с флагом -Xprof, честно говоря мало чего понял из той кучи информации smile
PM MAIL   Вверх
Domestic Cat
Дата 10.12.2004, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Вот например:

http://mindprod.com/jgloss/profiler.html

А вообще-то разобраться с -Xprof довольно просто, сначала там идет список методов с указанием сколько времени (в процентах от общего времени выполнения) было потрачено в том или ином методе.


--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.