Serve.cfg:problem:time limit

From EjudgeWiki
Revision as of 08:50, 17 February 2012 by Anna (talk | contribs) (Created page with "Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/[[serve...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/time_limit

Имя переменной: time_limit
Содержится в: problem
Используется: run
Тип содержимого: integer
Может отсутствовать: да
Наследуется: да
Значение по умолчанию: 0
Может повторяться: нет

Описание. Данная конфигурационная переменная задаёт процессорное виртуальное время в секундах, отведённое на работу проверяемой программы с одним тестом. Если по истечении этого времени программа не завершила работу, она убивается, и для данного теста проверяемой программы диагностируется ошибка “Time-limit exceeded”. Виртуальное процессорное время — это время, в течении которого процессор выполнял (в режиме пользователя или в режиме ядра) данную задачу. Время, затраченное в ожидании событий ввода/вывода в данном параметре не учитывается. Значение 0 данной конфигурационной переменной означает, что время выполнения тестируемой программы не ограничивается. Данный параметр соответствует ограничению времени работы программы на одном тесте, которое указывается в условии задачи. Однако, если тестируемая программа не занимает процессор а находится в ожидании события ввода-вывода, например, выполняя чтение из стандартного потока ввода вместо чтения из файла или выполняя системный вызов pause, она не тратит виртуальное процессорное время. Поэтому реальное астрономическое время выполнения тестируемой программы может быть сколь угодно больше виртуального процессорного времени. Для ограничения реального астрономического времени используется конфигурационная переменная serve.cfg:problem:real_time_limit.

Если данная конфигурационная переменная неабстрактной задачи не определена, её значение наследуется от абстрактной задачи, если абстрактная задача указана. Если и после этого значение переменной не определено, устанавливается значение по умолчанию 0 (отсутствие ограничений на максимальное время выполнения).

Пример.

time_limit = 5