Commit 2e05a6b
committed
Fold
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.testcase_run.sh logic into judgedaemon.1 parent 6409457 commit 2e05a6b
2 files changed
+445
-366
lines changed
0 commit comments