Script for recomputing task time limits.
Review Request #177 - Created Sept. 21, 2011 and updated - Latest diff uploaded
Information | |
---|---|
Bogdan-Cristian Tătăroiu | |
infoarena | |
Reviewers | |
hackers | |
What it does is for each task, divide the submitted jobs into buckets based on how many TLEs each job has received and try to select the most representative 5 jobs for each bucket (configurable JOBS_PER_TASK and BUCKETS constants). The jobs are selected in decresing order of score and increasing order of total execution time and are chosen such that no bucket will contain 2 jobs from the same user (this prevents rejudging a number of basically identical jobs with minor changes between them). After the jobs are selected, they are rejudged with a big time limit to determine the new execution times for each test. A new time limit is then computed that yields as close results to the original as possible. This script should NOT be run on a live database as it changes scores for some jobs. The script is supposed to be run on a full copy of the database hosted somewhere else, and then the recomputed time limits should be imported into the live database.