Python
빠른 검증과 자동화의 언어
Unity 개발자에게 Python은 메인 런타임 언어가 아니라, “아이디어를 빠르게 검증하고, 반복 작업을 자동화하기 위한 도구”에 가깝다.
1. GIL의 의미와 한계
Section titled “1. GIL의 의미와 한계”Python(CPython)의 GIL(Global Interpreter Lock)은 한 프로세스 안에서 동시에 하나의 스레드만 Python 바이트코드를 실행하도록 제한한다.
이게 의미하는 것
Section titled “이게 의미하는 것”- 멀티 스레드를 써도 CPU 연산은 병렬로 돌지 않음
- IO 작업(네트워크, 파일 대기)은 여전히 비동기로 처리 가능
Unity 개발자 관점에서의 이해
Section titled “Unity 개발자 관점에서의 이해”- C#의
async/await는 멀티 스레드와 직접 연결되지 않는 것처럼 - Python도 “스레드 있음 = 병렬” 이 아님
대화용 정리 문장
“Python은 GIL 때문에 CPU 연산 병렬 처리에는 한계가 있지만, IO 중심 작업이나 자동화에는 충분히 강점이 있습니다.”
2. 왜 서버는 Python으로 시작했다가 다른 언어로 옮기는가
Section titled “2. 왜 서버는 Python으로 시작했다가 다른 언어로 옮기는가”Python으로 시작하는 이유
Section titled “Python으로 시작하는 이유”- 문법이 단순함
- 라이브러리/프레임워크 풍부
- 빠른 프로토타이핑
옮기게 되는 시점
Section titled “옮기게 되는 시점”- 트래픽 증가
- CPU 바운드 로직 증가
- 응답 지연, 인프라 비용 문제
Unity 개발자에게 대응되는 감각
Section titled “Unity 개발자에게 대응되는 감각”- 초기에 Editor Tool을 빠르게 만들고
- 규모 커지면 성능/구조 개선하는 흐름과 동일
대화용 정리 문장
“Python은 초기 개발 속도가 빠르지만, 규모가 커지면 성능과 비용 측면에서 다른 언어로 이전하는 경우가 많습니다.”
Unity 개발자가 Python을 알면 좋은 이유
Section titled “Unity 개발자가 Python을 알면 좋은 이유”- 빌드/리소스/로그 자동화 스크립트 작성
- 서버/데이터 팀과 기술 선택 맥락 공유
- “왜 이 언어를 여기서 썼는지” 설명 가능