네이티브 머신 코드로 컴파일 된 파이썬이 컴파일 된 C 나 다른 일반적으로 컴파일 된 언어만큼 빠르지 않은 이유를 이해하는 데 두 가지 개념이 있습니다. 이른 바인딩과 늦게 바인딩이라고합니다.
필자는 파이썬 전문가가 아니라고 말하면서 우연히이 사이트를 방문했다. 그러나 나는이 사이트를 좋아한다.
다른 응답에서 언급했듯이 C ++ 컴파일러는 프로그램에 대해 많은 것을 알고 특정 데이터 구조에 사용할 연산을 결정할 수 있습니다. 예를 들어 두 개의 정수 변수를 함께 추가해야하는 경우 컴파일러는 예를 들어 32 비트 너비의 원시 정수임을 알고 하나의 "ADD"명령어와 함께 추가 할 수 있습니다. 따라서 ADD 명령어를 코드로 컴파일합니다. 프로그램이 잠겨있는 동안 잠겨 있으며 변경할 수 없습니다. 그것은 초기 구속력입니다.
반면 파이썬과 같은 언어에서는 프로그램이 복잡한 방식으로 다른 유형의 데이터를 함께 던질 것으로 기대할 수 있습니다. 이제 컴파일러는 두 변수가 정수, 부동 소수점, 문자열 또는 목록인지 알 수 없습니다. 따라서 런타임시 해당 정보를 결정하고 프로그램이 실행되는 동안 올바른 작업을 선택하는 코드를 컴파일해야합니다. 이것은 구속력이 있으며 프로그램이 실행되는 동안 추가 작업을 수행하면 성능이 저하 될 수 있음을 이해할 수 있습니다. Python과 같은 언어로 이러한 옵션을 열어 놓는 데 드는 비용이지만 런타임 유연성이 극대화됩니다.