Skip to content

Commit 2e05a6b

Browse files
committed
Fold testcase_run.sh logic into judgedaemon.
The primary motivation is to significantly reduce the per-testcase overhead of judging a submission. Historically, with fewer test cases, the separation was carrying its weight. However, with modern problems requiring many test cases or passes, the overhead from dozens of forked simple programs (`cp`, `mv`, `chmod`, `grep` etc.) within the shell script has become a major performance bottleneck. Moving them into PHP effectively replaces them with simple system calls. This change results in a substantial performance improvement: * Roughly a 50% speed-up in total judging overhead per submission * Example: A simple C++ solution to a multi-pass problem (NWERC 2025 practice) was reduced from ~70s to ~33s end-to-end.
1 parent 6409457 commit 2e05a6b

File tree

2 files changed

+445
-366
lines changed

2 files changed

+445
-366
lines changed

0 commit comments

Comments
 (0)