728x90
Python은 왜 느릴까?
1. 개요
Python은 일반적인 상황에서 C, C++ 등의 언어보다 느리다.
이는 Python의 동작이 인터프리터 언어로써 작동하기 때문이다.
컴파일러 언어는 파일을 만들 때 컴파일링 거치기 때문에 더 빠르게 작동한다.
2. 인터프리터 언어와 컴파일러 언어
인터프리터(interpreter) 언어는 소스 코드를 한 줄씩 해석하여 실행하는 방식을 사용한다.
이름 그대로 소스코드 실행을 위해 해석기(interpreter)를 사용한다.
인터프리터 언어는 코드를 별도로 컴파일하는 과정이 없으며,
이 덕분에 코드를 수정하면 즉시 반영되는 장점이 있다.
인터프리터 언어는 상대적으로 개발이 용이하고, 코드 수정이 쉽지만
인터프리터가 한 줄씩 해석하는 과정에 의해서 속도가 느리다.
이러한 인터프리터 언어는 Python, Javascript, Ruby등이 있다.
컴파일러(compiler) 언어는 컴파일러를 통해 기계어로 변환하는 과정을 거친다.
이런 과정을 거쳐서 실행 속도가 빠르고 보안적으로 안전한 코드가 생성된다.
인터프리터 언어에 비해 컴파일러 언어가 보안적으로 우수한 이유는,
기계어로 번역된 코드가 쉽게 알아보기 어렵고, 소스 코드로 번역된 후에는
코드를 수정할 수 없으므로 악성 코드 삽입의 위험이 줄어든다.
인터프리터 언어는 소스 코드를 한 줄씩 실행하고 실행 중에 소스코드를
수정할 수 있기 때문에, 상대적으로 보안에 취약할 수 있다.
728x90
'TIL > 기본' 카테고리의 다른 글
[TIL] 미들웨어 (0) | 2023.04.08 |
---|---|
[TIL] Python global과 nonlocal (0) | 2023.04.07 |
[TIL] 프로세스 간 통신 (0) | 2023.03.29 |
[TIL] 함수형 프로그래밍 (0) | 2023.03.29 |
[TIL] 다형성 (0) | 2023.03.29 |