언어별 버전, 컴파일 및 실행 옵션
설치 언어 및 버전
GCC (C) 13.3.0
G++ (C++) 13.3.0
Python3 3.12.3
Cython3 3.0.8
pypy3 7. 3.15 (Python3 3.9.18 호환)
Java (OpenJDK) 17.0.18
컴파일 및 실행 옵션
C
- 컴파일 gcc Main.c -o Main -O2 -Wall -lm -std=c99
- 실행 Main(seccomp: c_cpp)
C++
- 컴파일 g++ Main.cpp -o Main -O2 -Wall -std=c++17
- 실행 Main(seccomp: c_cpp)
Python3, 블록(한글), 블록(영어), 블록(Python)
- 컴파일 python3 -c "import py_compile; py_compile.compile('Main.py')"
- 실행 python3 Main.py (seccomp: general)
부스트 모드
- 부스트 모드는 블록(한글,) 블록(영어), 블록(Python), Python3에서 가능하며, Python3 코드를 Cython으로 C 변환 후 네이티브 컴파일 -> 속도가 향상, 메모리는 증가
- 시간 배율 ×2 (일반 Python3은 ×5), 메모리 배율 × 3 (일반 Python3은 ×2)
- 컴파일 cython3 -3 --embed Main.py -o Main.c && gcc -B/usr/bin Main.c -o Main $(python3-config --cflags --ldflags --embed) -O2
- 실행 Main (seccomp: general)
pypy3
- 컴파일 pypy3 -c "import py_compile; py_compile.compile('Main.py')"
- 실행 pypy3 Main.py (seccomp: general)
Java
- 컴파일 javac Main.java
- 실행 java -Xmx{메모리제한×2}m -Xss1m -XX:ReservedCodeCacheSize=32m -XX:MaxMetaspaceSize=64m -cp . Main