실행 모델

image.png

추가

저기서 말하는 인터프린터란

저기서 말하는 컴파일러란

AOT 컴파일(Ahead-of-Time)

언어: C, Rust, Go

빌드 시점에 소스 코드를 전체 기계어로 번역(컴파일러)해서 실행 파일로 만들고 이 실행 파일을 실행하는 구조

컴파일러가 프로그램 전체를 한 번에 볼 수 있으니 인라이닝, 죽은 코드 제거, 벡터화 같은 최적화를 마음껏 걸음

시간 제약이 없어서 -03 로 몇 분씩 걸려도 상관없음

대신 컴파일 시점에 알 수 있는 것만 근거로 삼음

어떤 함수가 실제로 어떤 값을 받는지는 모르니, 이론적으로 가능한 모든 경우에 대해 맞는 코드를 만들어야 함

운영에서는 성질이 명확