Время теста

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:
Время теста

Post by vk » 06 June 2009, 16:48

Здравствуйте!
Не могли бы вы разъяснить, пожалуйста, что именно обозначают параметры "Time" и "Real time" в результатах проверки?
"Time" может быть как больше "Real time"а, так и меньше.
А могут вообще совподать...

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Время теста

Post by cher » 06 June 2009, 21:16

Time - это процессорное время, Real time - это астрономическое время. Они могут немного не совпадать из-за того, что способ измерения отличается.

vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:

Re: Время теста

Post by vk » 07 June 2009, 01:26

А какое лучше брать для оценки времени выполнения?
В настройках возможно указания временных ограничений как для одного, так и для другого. Если я хочу указать ограничение, допустим, в 3 секунды, какой параметр я должен указывать равным трем? Я, как понимаю, именно time. В основном я видел что в настройках задачи real time указывают большим, чем time. Зачем? Считается, что real time проверки должен быть больше?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Время теста

Post by cher » 07 June 2009, 20:27

Обычно задается процессорное время. real_time имеет смысл устанавливать примерно раза в два больше, чем процессорное время. Ограничение по real time - это страховка на случай, когда программа не потребляет процессорного времени, например, при чтении с терминала или при выполнении некоторых системных вызовов типа pause и пр.

vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:

Re: Время теста

Post by vk » 08 June 2009, 10:07

Хорошо, спасибо за ответ. Приму к сведению.

quick
Posts:20
Joined:16 November 2008, 17:40

Re: Время теста

Post by quick » 14 March 2013, 23:32

У меня вопрос по теме.
Почему-то для посылок по java система вдруг начала выдавать time limit по правильным (ранее протестированным) решениям, причем при ТЛ 1 секунду, решение падает при выполнении 1.1 сек, а real time при этом 0.6 сек. От чего может быть такой разброс? Может на это влиять то, что система работает в виртуалке с ограничением CPU меньшим чем оригинальная частота процессора?

**
Upd: ресурс процессора не ограничен виртуальной машиной. Частота доступная в гостевой системе есть реальная частота процессора. Так что дело не в этом, но в чем? Может ли разница в почти 2 раза быть погрешностью методов измерений?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Время теста

Post by cher » 15 March 2013, 22:26

А что изменилось? Версия ejudge? Версия java?

Изменилось время работы всех java решений или только некоторых?

quick
Posts:20
Joined:16 November 2008, 17:40

Re: Время теста

Post by quick » 15 March 2013, 22:35

Ejudge не изменялся, версия java тоже. Изменилось железо хоста виртуалок, на которой работает эта машина. Раньше виртуалке было доступно 2.4 Ghz, сейчас только 2 и это физическая частота хоста.
Время работы изменилось для всех решений. И джава и с++ (хотя на последнем заметно меньше), для старых решений тоже.
Но real time < time только для java.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Время теста

Post by cher » 16 March 2013, 17:31

А как-то еще host изменился? Может в BIOS отключена поддержка виртуализации?

quick
Posts:20
Joined:16 November 2008, 17:40

Re: Время теста

Post by quick » 17 March 2013, 00:36

Не могу сказать со 100%-ной увернностью, но почти наверняка виртуализация включена. Доступа к хост машине у меня нет.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Время теста

Post by cher » 18 March 2013, 14:30

Какая у вас версия java? применен ли к java патч, исправляющий базу временных зон?

quick
Posts:20
Joined:16 November 2008, 17:40

Re: Время теста

Post by quick » 18 March 2013, 23:06

1.6.0_26 из репозитория debian squeeze. Вручную я ничего не патчил, но если было бы из-за джавы, то проблема бы проявилась гораздо раньше, не так ли?
Еще я помню где-то в настройках кнопку "Detect CPU speed", которую не могу найти. Ее убрали в последних версиях?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Время теста

Post by cher » 19 March 2013, 11:52

Возможно, стоит попробовать установить более новую версию java и проверить с ней.

quick
Posts:20
Joined:16 November 2008, 17:40

Re: Время теста

Post by quick » 10 May 2013, 00:41

Перенесли сервер на реальное железо (не виртуалка) с более быстрым процессором. Все 8 ядер 2-х ксеонов, работающих на 2.6 ГГц доступны системе. Также включили случайно выключенную оптимизацию (см. мой пост про additional compiler options в соседней теме), что решило проблему с С++.
Но для джавы Real time все еще часто меньше, чем Time. Все обновлено до последних версий, включая jdk, поставил последнюю с сайта оракл 1.7.0_21-b11.
И похоже для джавы использованная память не определяется корректно ( во всяком случае в репорте отображаются цифры как минимум в 3 раза больше, чем по идее должно быть).

Post Reply