cms-dev / cms-dev/cms

Option to stop evaluation of a subtask on first 0 score.

Open
#1,205 0 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

es feature_request
Dominant language
Python
Stars
1k
Forks
412
Avg merge
6d 10h
Merged PRs (30d)
3

Description

The Problem

It is often a problem that CMS runs all files for each submission. In most OI styles problems, there is usually a subtask where very worse complexity solution can pass. Many participants usually code that first and submit. But since this is run on all the files, the later subtasks take up huge unnecessary judging time that it often jams up the server (low spec servers), especially in the beginning of the contest, sometimes even crash it (from experience)!

The Solution

For minimum in subtask scoring, stop evaluating more files once at least one of the file gets score 0. (This may also be related to feedback level full / restricted).
It may not be the default, but having an option for this will be very helpful!
Although it may be difficult to implement, since in CMS evaluation is done in parallel, in contrary to other online judges that stop on first wrong answer.

Alternative

Current way to overcome this problem is to just have small number of input files. Which can be a bad thing for some problems.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by tracing CMS's parallel evaluation flow and how minimum subtask scores and feedback levels are represented. Done means an optional configuration can stop further file evaluation after a zero score without breaking normal judging or contest operation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.