# D-004: 백테스트 엔진 subprocess 분리 (2026-03-12)

> Ante 설계 결정 기록.
> 인덱스: [README.md](README.md)

**결정**: 백테스트는 메인 프로세스와 별도 subprocess로 실행

**근거**:
- CPU 격리: 백테스트의 CPU 집중 사용이 라이브 봇에 영향을 주지 않음
- 메모리 격리: 대량 데이터 로딩 후 프로세스 종료 시 메모리 깨끗하게 반환
- 안정성: 백테스트 중 OOM/크래시가 라이브 봇에 무영향
- 자연스러운 생명주기: 요청 시 시작, 완료 후 종료

**통신 방식**:
- 입력: 전략 파일 + 설정을 인자로 전달
- 데이터: Parquet 파일에서 직접 읽기
- 출력: 결과를 파일/DB에 기록
- 완료 알림: 메인 프로세스에 BacktestCompleteEvent 발행
