Skip to content

Commit 40aabc3

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 40aabc3

File tree

1 file changed

+395
-21
lines changed

1 file changed

+395
-21
lines changed

0 commit comments

Comments
 (0)