Compilation과 Interpretation의 차이점

Compilation과 Interpretation의 차이점

Compilation

컴파일은 프로그램의 소스코드 전체를 기계어나 중간코드로 한번에 번역하는 것을 말합니다. 이 프로세스는 컴파일러에 의해 수행됩니다.

컴파일은 프로그램이 실행되기 전에 발생합니다. 컴파일된 코드는 필요할 때마다 실행할 준비가 되어 있습니다.

컴파일된 코드는 번역이 미리 이루어지기 때문에 실행 속도 측면에서 더 효율적인 편입니다.

Interpretation

Interpretation이란 프로그램의 소스코드를 기계어로 번역하거나 필요에 따라 한 줄씩 실행하는 것을 의미합니다

이 과정은 Interpreter에 의해 수행됩니다.

Interpretation시 별도의 출력 파일이 생성되지 않습니다.

Interpretation은 런타임에 발생합니다. 즉 소스코드는 즉시 번역되고 실행이 되는 겁니다.

해석된 코드는 런타임 중에 번역이 발생하므로 컴파일된 코드에 비해 실행 속도가 약간 느릴 수 있습니다.

하이브리드 접근 방식

바이트코드 편집

Java와 같은 일부 언어는 컴파일과 해석을 조합하여 사용합니다. 소스 코드는 중간 바이트코드로 컴파일된 후 JVM(Java Virtual Machine)에 의해 해석됩니다.

JIT(Just-In-Time) 편집

JIT 컴파일은 두 접근 방식의 측면을 결합합니다. 소스 코드는 처음에 중간 형태로 컴파일되고, 이 중간 코드는 런타임 시 기계어 코드로 변환됩니다.

참고하면 좋은 글

https://frankpablo.github.io/classes/csc111/lectures/lectureNotes03.html

Leave a Comment

목차