faster java execution
This commit is contained in:
@@ -178,17 +178,18 @@ func (s *ExecutionService) executeJava(submission *model.CodeSubmission) {
|
|||||||
}
|
}
|
||||||
log.Printf("[JAVA-%s] Wrote code to file: %s", submission.ID, javaFilePath)
|
log.Printf("[JAVA-%s] Wrote code to file: %s", submission.ID, javaFilePath)
|
||||||
|
|
||||||
// Run Java code in container
|
// Run Java code in container with performance optimizations
|
||||||
cmd := exec.Command("docker", "run", "--rm",
|
cmd := exec.Command("docker", "run", "--rm",
|
||||||
"--network=none", // No network access
|
"--network=none", // No network access
|
||||||
"--memory=200m", // Memory limit
|
"--memory=300m", // Increased memory limit
|
||||||
"--cpu-period=1000000", // CPU quota period
|
"--cpu-period=100000", // CPU quota period
|
||||||
"--cpu-quota=50000", // 5% CPU
|
"--cpu-quota=25000", // 25% CPU (increased from 5%)
|
||||||
"-v", tempDir+":/code", // Mount code directory
|
"-v", tempDir+":/code", // Mount code directory
|
||||||
"openjdk:11", "bash", "-c", "cd /code && javac Main.java && java Main")
|
"adoptopenjdk/openjdk11:alpine-jre", // Smaller, faster image
|
||||||
|
"bash", "-c", "cd /code && javac Main.java && java -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xverify:none -Xms64m Main")
|
||||||
|
|
||||||
log.Printf("[JAVA-%s] Executing Java code with timeout: 10s", submission.ID)
|
log.Printf("[JAVA-%s] Executing Java code with optimized settings", submission.ID)
|
||||||
output, err := s.executeWithTimeout(cmd, 50*time.Second, submission.ID)
|
output, err := s.executeWithTimeout(cmd, 15*time.Second, submission.ID)
|
||||||
|
|
||||||
elapsed := time.Since(startTime)
|
elapsed := time.Since(startTime)
|
||||||
log.Printf("[JAVA-%s] Java execution completed in %v", submission.ID, elapsed)
|
log.Printf("[JAVA-%s] Java execution completed in %v", submission.ID, elapsed)
|
||||||
|
|||||||
Reference in New Issue
Block a user